学び直し42日目:8章 バーチャルマシン#2:実装、展望、プロジェクト(8章強引に終了)
記録
ダレてきてしまったので、いったんこの章を完了とする。
実装
要点としては、VM ではスタック構造をとるため、関数呼び出しやフロー制御(分岐やループ処理)が入れ子型の構造となってることを理解できればよさげ。
関数を呼び出した側の状態は呼び出した時点の状態が保持され、いったん呼び出された側に制御が移る。そこからさらに別の処理に渡ったり、処理を終えてもとの制御に return したりする。いずれにせよ、スタック構造がなせる業。
ブートストラップコード
コンピュータがブートアップしたときに、最初に実行されるコードのこと。ROM[0] からはじまるコードセグメント。今回の場合、「SP を 256 番地に設定する」&「初期化プログラムの Sys.init を呼ぶ」が、ブートストラップコードとなる。Sys.init はメインプログラムのメインプログラムを呼び出して無限ループに入る。
今日の筋トレ
…ぜんぜんやってないぜ!