プログラムはなぜ動くのか(1章)
やったこと
- プログラムはなぜ動くのか の第1章の残りを読んだ。
TL
- 前回までに、プログラムの流れを理解した。
高水準言語をコンパイラによって、EXEファイルに変換し、ユーザがプログラムの起動を指示するとEXEファイルのコピーをメモリに移動させ、 CPUのレジスタの1種であるプログラムカウンタが指定したメモリのアドレスからデータや命令を取得し、実行する。 - 今回は、プログラムの流れとして存在する条件分岐・繰り返しと関数呼び出しの仕組みについてインプットを行った。
- 条件分岐・繰り返し文の処理は、ジャンプ命令という仕組みで成立しており、関数呼び出しの仕組みは、コール命令・リターン命令という仕組みで成立している。
独り言
- ジャンプ命令・コール命令・リターン命令がどのようなものなのかをまとめようと思ったが、まとめられなかったので理解していないことに気付けた。
- ジャンプ命令に使われているデータを比較するための仕組みとして、比較結果を格納するフラグレジスタというのが存在することは覚えている。
- あと少しで1章が終わる。