この記事はひとりでCPUとエミュレータとコンパイラを作る Advent Calendar 2017の25日目の記事です。 いよいよ最終日。 まず復習を兼ねて、今までの記事を振り返りながら、C言語から半導体までCPUの中を歩く。 最後に自作コンパイラ、自作エミュレータ、自作CPUを結合し、再帰関数でフィボナッチ数を計算する。 25日間の復習 アドベントカレンダーの 初日の記事 に 「普段目にする抽象的なプログラムコードから、CPU内の電圧変動が想像できるようになりたい。」 と書いたので、今までの記事を見返しつつ、C言語から半導体までレイヤーを降りてみる。 C言語からアセンブラまで (18日目-24日目) C言語のサンプルコード int main () { int a ; a = 3 ; return 0 ; } これを1週間かけてアセンブラに変換した。 作ったコンパイラのリポジトリはこれ。
![25日目: 自作コンパイラ、自作エミュ、自作CPUの結合 - しかくいさんかく](https://cdn-ak-scissors.b.st-hatena.com/image/square/c4c57b7222177f06b53671fbee629fc4c4b33562/height=288;version=1;width=512/http%3A%2F%2F2.bp.blogspot.com%2F-cm2Yugyugpg%2FVoX5ZrhR79I%2FAAAAAAAA2VM%2FhgsDUJ96E_Y%2Fs450%2Fmessage_goseichou_man.png)