2018.2.20
前へ
次へ
ホームページトップへ戻る

標準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

前へ
次へ
ホームページトップへ戻る