標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第178回]
●ROMにプログラムを書いて実行してみました
今までの動作テストは、プログラムをRAMに書いて、実行していました。
しかし、TK80の回路を実現するためには、ROMにプログラムを書いて、動作させる必要があります。
いままで簡単なテストプログラムをRAMに書いて、正しく動作することを確認してきましたから、多分、ROMでも大丈夫とは思いましたが、念のため、簡単なテストプログラムをROMに書いて、実行させてみました。
ROMに書いたプログラムは、[第173回]で実行したものと同じプログラムです。
0000 AF XRA A
0001 47 MOV B,A
0002 4F MOV C,A
0003 57 MOV D,A
0004 5F MOV E,A
0005 67 MOV H,A
0006 6F MOV L,A
0007 3C INR A (4)
0008 C20700 JNZ 0007 (6)or(4)
000B 0C INR C (4)
000C C20700 JNZ 0007 (6)or(4)
000F 04 INR B (4)
0010 C20700 JNZ 0007 (6)or(4)
0013 2C INR L (4)
0014 C20700 JNZ 0007 (6)or(4)
0017 24 INR H (4)
0018 C30700 JMP 0007 (6)
●ROMでのプログラムを実行中の写真です
今回も、7segLEDにDMAでの表示を行いながらの、プログラム実行です。
左下に見える丸い窓があるのがROM(27C256)です。
プログラムがRAMにあっても、ROMにあっても、実行時間は変わりません。
実行時間を計算してみましょう。
Bレジスタがカウントアップされる時間は、0.657416(秒)でした([第173回]参照)。
LEDの表示はH=04、L=A4、B=9Bです。
4A49Bです。これを十進数に直すと304283になります。
スタートしてから、この写真を撮ったときまでに経過した時間を計算すると、
0.657416×304283=200040.513(秒)
になります。
このプログラムをスタートしたのは、3月2日の14時28分でした。
そして、この写真を撮ったのは、3月4日の22時02分でした。
経過時間を計算すると、55時間34分です。
秒に直してみます。
3600×55+60×34=200040(秒)
おお。ぴったり一致しました。
●作業中の机の上の様子です
2009.3.8upload
前へ
次へ
ホームページトップへ戻る