2016/01/22
SICP 問題 5.02
5.01の反復的な階乗計算機をレジスト計算機言語使って記述する.
(controller
factorial
(assign n (op read))
(assign product (const 1))
(assign counter (const 1))
test-b
(test (op >) (reg counter) (reg n))
(branch (label factorial-done))
(assign t (op mul) (reg product) (reg counter))
(assign u (op sum) (reg counter) (const 1))
(assign product (reg t))
(assign counter (reg u))
(goto (label test))
factorial-done)
基本的に制御器の流れ通り.
readする方法がわからないので多分こんな感じでしょうってやっつけ