次の図はScmWordを32ビット幅と仮定したものである。
| 10 | 10 | 8 | +----+---------+--------+-------+ | | ARG1 | ARG2 | CODE | +----+---------+--------+-------+ | ARG | +--------------------------------+ | OPERAND | +--------------------------------+
どのようなSchemeコードによって該当インストラクションが生成されるかを示す「コード例」ではgauche.internalモジュールのcompile-p3を利用しています。
それぞれコンティニュエーションフレーム、環境フレームを表します。 Nは単なる識別子にすぎません。
環境フレームは引数フレームと環境ヘッダからなり、また環境フレームへのポインタは 環境ヘッダを指すため、正確に表記するなら次のようになりますが
+=========+ ===== | arg | | env ---->+---------+ | | E#0 | ENV_HDR | | | | +=========+ =====
これを次のように表しています。
env ---->+=========+ | | | E#0 | | | +=========+
なお、コンティニュエーションフレームも積みかけの引数フレームを含むことがありますが 基本的にそれは考慮しません。
原則すべての(スタックにあり得る)フレームはスタックにあるものとして表されます。