コンピュータの基本的な部分を学ぶことができるnand2tetrisというサイト。
タイトルにあるように、まずは論理回路のNANDを組み合わせてCPUやメモリ、そしてコンピュータまでをエミュレータ上で作る。次に作成したコンピュータ上で動くマシン語へ変換するアセンブラ、中間言語からアセンブラへの変換器、高級言語から中間言語へのコンパイラと順を追って作成。最後に高級言語を使ってOS(というかライブラリ)を作成したらtetris(実際にはPong)を動かす!というのがサイトの内容。
やることはかなり盛り沢山で、年末から1ヶ月程かかってやっと最後まで終わらせることができたので簡単に振り返ってみる。
Continue reading “nand2tetrisやっと終了!”