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

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