見出し画像

NATUを作る(パート35)

HARUは失敗に終わってしまった。
だが、その悔しさをバネに、新たにNATUを作ることになった。

今回も、条件分岐命令を使ったテストをしていきたいと思います。


テスト

16bitの足し算

それでは、次は条件分岐を使って16bitの足し算を行いたいと思います。

プログラムは、

0:1番地からインプットしてレジスタの1番地に保存
1:2番地からインプットしてレジスタの2番地に保存
2:3番地からインプットしてレジスタの3番地に保存
3:4番地からインプットしてレジスタの4番地に保存
4:1番地と2番地を足して5番地に保存
5:2番地からアウトプット
6:1番地と2番地を足して0番地に保存
7:前のフラグがオンだったら12にジャンプ
8:3番地と4番地を足して3番地に保存
9:4番地からアウトプット
10:0番地から0番地を引いて0番地に保存
11:前のフラグがオンだったら14にジャンプ
12:3番地と4番地を足してインクリして3番地に保存
13:4番地からアウトプット
14:0番地と0番地を足して0番地に保存

こんな感じにしたいと思います。

もしかしたら、もっと短くできるかもしれないけど、僕にはこれが限界でした、、、

それでは、早速プログラミングしていきたいと思います。



プログラミングが完了しました。

これまでNATUのテストで実行した中で、最も長い命令だったので、少し大変でした。

プログラミング済みROM

それでは、まずは0000 0000 0000 0000足す0000 0000 0000 0000を実行させたいと思います。

0000 0000 0000 0000+0000 0000 0000 0000

無事、成功しました!

それでは、次は、、、
0000 0011 0000 0011足す0000 0110 0000 0110を実行させたいと思います。

0000 0011 0000 0011+0000 0110 0000 0110

やった!成功です!

それでは、最後に0101 0101 0101 0101足す0010 1010 1010 1011を実行させて、終わりにしたいと思います。

0101 0101 0101 01010+010 1010 1010 1011

よしっ!!!
成功しました!

無事動いてよかったです。

それでは、最後に、このNATUをコピーさせたいと思います。

もし、ミスったらここから再開する感じで。

あ、やっぱり、ここは次回にしたいと思います。

それでは、次回はほかの命令も遮断できるようにするのと、コピーをしたいと思います。

今回は、約40分の作業でした。
お疲れさまでした。

それじゃあ、次回、また会いましょう

いいなと思ったら応援しよう!