標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
やっと(!)MYCPU80の改良型基板製作に着手しました!!
[第846回]
●[7]JMP、Jx回路
今回はJMP、Jx(条件JMP)命令回路の組立です。
条件JMP命令はJNZ、JZ、JNC、JC、JPO、JPE、JP、JMの8種類ありますが、今回組み付けるICは基板上部で5箇所と基板中央近くで3箇所だけです。
ここはIC9、IC25、IC26、IC41、IC51の5箇所です。
そしてこちらはIC151、IC173、IC206の3箇所です。
歯抜け状態だったところが大分埋まってきました。
●JMP命令のテスト
MYCPU80操作説明書にあるJMP命令のテストプログラムをメモリに書いて実行します。
下のリストがJMP、JNZテストプログラムです。
0000 3E00 MVI A,00 0002 47 MOV B,A 0003 4F MOV C,A 0004 57 MOV D,A 0005 5F MOV E,A 0006 0C INR C 0007 C20600 JNZ $0006 000A 04 INR B 000B C20600 JNZ $0006 000E 1C INR E 000F C20600 JNZ $0006 0012 14 INR D 0013 C30600 JMP $0006 |
このプログラムは8ビットのレジスタC、B、E、Dを直列につないで32ビットのカウンタにしたものです。
最初にCレジスタが00からFFまでインクリメントして、FFから00になるときに上位のBレジスタをインクリメントします。
そのようにしてC、B、E、Dの順にカウントが進みます。
このプログラムはJMP命令とJNZ命令しかテストしません。
JNZが正しく動作すればそのほかの条件JMP命令も多分動くだろうという手抜きです。
プログラムを実行しました。
Cレジスタは速過ぎて全点灯しているように見えます。
Bレジスタが256回カウントするのにかかる時間は約0.66秒ですから上位2ビットぐらいは点滅している様子がなんとか見えます。
Cレジスタは0.66秒に1回カウントアップします。
カウントが進んでDレジスタが+1されました。
今回のテストの写真は前回書きましたINRレジスタのLEDが表示されないことに気がつく前に撮ったものです。
ですからINRレジスタは表示されていませんが、レジスタのカウントアップは正しく行なわれています。
組立と動作テストの作業はもっと先まで進んでいるのですが、本日は時間がなくなってしまいましたので、ここまでにします。
TTLでCPUをつくろう![第846回]
2018.2.20upload
前へ
次へ
ホームページトップへ戻る