| スタックマシンの命令 | ||
| オプコード | 引数 | 処理内容 |
| CONST | x | 定数をスタックに載せる |
| LVAR | i,j | iフレームのj番目の局所変数の値をスタックに載せる |
| GVAR | sym | symで表される大域変数の値をスタックに載せる |
| LSET | i,j | スタックトップの値をiフレームのj番目変数の値とする |
| GSET | sym | スタックトップの値をsymで表される大域変数の値とする |
| POP | スタックトップの値を1つ取り除く | |
| FJUMP | label | スタックトップの値がnilならば,スタックをpopしてlabel へ飛ぶ |
| JUMP | label | labelへ飛ぶ(スタックのpopはしない) |
| CALL | n | スタックトップがn個の引数を使う関数であると いうことで,CALLから帰ってくるべき場所をスタックに積んで, 関数を呼ぶ. |
| FN | closure | closure をスタックに積む. |
| ARGS | n | n個の引数をスタックから評価環境へ取り込む |
| RETURN | スタックトップにリターンすべき値があり, そのつぎにリターン場所があるとして, プログラムカウンタをそのリターン場所にし,スタックへ リターンすべき値を積み戻す. | |