CPUコンパイラ自作ワークショップのテキスト
ComProcWorkshopで使うために書かれたテキスト
ワークショップで作るもの
CPU
四則演算が計算できる
スタックマシン
コンパイラ
四則演算を解釈し、CPU向けの機械語に変換する
3*(1+2)は次のように計算する
code: exp.asm
push 3
push 1
push 2
add
mul
out
準備するもの
必須:開発用のパソコン
必須:ComProcWorkshop/必要なソフトウェア
オプション:ComProc CPU Board Rev.4
FPGAボード Tang Nano 9K を搭載したマザーボード
ボードが無くてもシミュレーションで実習を進められます
ComProc CPU Board組み立ての手引き
目次
ComProcWorkshop/第1章:数値をLEDに表示する
ドットマトリクスLEDに数値を表示する方法を学ぶ
スタティック点灯、ダイナミック点灯
CPUボードが無い方は第2章から
ComProcWorkshop/第2章:表示する数値をパソコンから送る
UART通信回路を組み込む
整数1個だけに対応したコンパイラを作る
ComProcWorkshop/第3章:加減算ができるコンパイラを作る
CPUにADD命令を追加する
コンパイラが加減算を認識できるようにする
ComProcWorkshop/第4章:乗算に対応する
CPUに演算用のスタックを組み込む
再帰下降型構文解析で乗算に対応する
このCPU+コンパイラが進化した様子
変数読み書きやfor文のサポート
https://twitter.com/i/status/1516347435194679296
引数付き関数定義と呼び出しのサポート
フィボナッチ数列の計算
https://twitter.com/uchan_nos/status/1542400486434689025?s=20&t=-fae_bxj-eQ45VK1QDXSHQ