標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第329回]

●[5]MOV、MVI、HLT命令回路の動作テストの続きです(操作説明書から)

☆☆☆今回も操作説明書から、動作テストの説明の続きです。☆☆☆

●6.MVI命令のテスト(2)

MYCPU80組立説明書 V組立 [5]MOV、MVI、HLT命令回路 の組立作業後に行う動作テストの説明です。

●6−1. MVI M命令のテストプログラムをメモリに書く

メモリに次のプログラムを書きます(1. メモリにデータを書き込む の説明を参考にして操作してください)。

0000 2604  MVI H,04
0002 2E05  MVI L,05
0004 36AB  MVI M,AB
0006 76    HLT
(リスト2) MVI M テストプログラム

MVI M命令は、命令コード36の次のアドレスに書かれている値を、HLレジスタで示すメモリアドレスに書き込みます。
リスト2ではHレジスタに04、Lレジスタに05を入れたあとで、MVI M,ABを実行しますから、メモリアドレス0405にABが書き込まれることになります。

●6−2. メモリアドレス0405の値を確認する

プログラムの実行前と実行後でメモリアドレス0405の内容が書き換わることを確認するため、プログラムの実行前のメモリアドレス0405の値を確認しておきます。

ディップスイッチDS1、DS2とアドレス設定用のトグルスイッチを下のようにセットします。



データ入力用のトグルスイッチは全部上側にします(そのようにしないと、メモリから出力されたデータを正しく確認することができません)。



するとDATA BUS(外部データバス)LEDには、メモリアドレス0405の値が表示されます。このときに表示される値は現在アドレス0405に入っている値ですが、どのような値が入っているかはわかりません。
テストを行う上では、AB以外の値であれば、どのような値になっていても構いません。
もしもアドレス0405の値がたまたまABになっていたら、適当な値に書き換えたあと、またデータ設定用トグルスイッチをFFにセットしておいてください。

☆☆☆操作説明書には図はありますが画像(基板の写真)はありません。でもせっかくのホームページですから、写真もUPいたします。☆☆☆

テストプログラム実行前のメモリアドレス0405の値を確認している写真です。
写真をクリックすると拡大画像を見られます。サイズが大きい(約1.3MB)ので、インターネットの低速接続環境では、ダウンロードに時間がかかります。ご注意ください(以下の写真も同じです)。



メモリアドレス0405には0Fというデータが入っていますが、この値に意味はありません。

●6−3. テストプログラムを実行する

以上の準備ができたら、6−1.でメモリに書いたテストプログラムを実行します。
プログラムを実行したあとで、またメモリの値を確認しますから、アドレス設定用のディップスイッチやトグルスイッチは0405をセットしたままにしておいてください(データ設定用のトグルスイッチはFFにしておきます)。

テストプログラムの実行の仕方については 4. テストプログラムを実行する を参照してください。
プログラムは瞬時に最後まで実行されます。
プログラムの最後はアドレス0006のHLT命令(コード76)になっているため、プログラムカウンタと外部アドレスバスには0006が表示され、外部データバス、内部データバス、命令コードレジスタには76が表示されます。
M clockは、AとBが点灯しているように見えます。アドレス0006のHLT命令がT0〜T3のステップを繰り返し実行されていることを示しています。

テストプログラム実行直後の写真です。



アドレス0006のHLT命令(コード76)が実行されています。
M clockの一番右のLED(A)が画面から外れてしまいました(拡大写真でよーく見るとわずかに点灯しているLEDの端っこが写っているのがわかります)。
うーん。もう少しカメラを右に向けなければいけませんでした。

●6−4. メモリアドレス0405の値を確認する

プログラムが正しく実行されたことを確認するために、もう一度メモリアドレス0405の値を確認してみます。
DS3−4をONにします(RESETSWを押しながら、DS3をセットしてください)。

プログラムが正しく実行されていれば、DATA BUS(外部データバス)LEDには、書き換えられたメモリアドレス0405の値ABが表示されます(そのように表示されなかったら、アドレス設定用のディップスイッチ、トグルスイッチが0405になっていて、データ設定用のトグルスイッチがFFになっているかどうかを確認してください)。



テストプログラム実行後のメモリアドレス0405の値を確認している写真です。



メモリアドレス0405の値がABになりました。

●7.MOV命令のテスト

MYCPU80組立説明書 V組立 [5]MOV、MVI、HLT命令回路メモリ(RAM)回路 の組立作業後に行う動作テストの説明です。

●7−1. MOV命令のテストプログラムをメモリに書く

メモリに次のプログラムを書きます(1. メモリにデータを書き込む の説明を参考にして操作してください)。
6.のテストを行った後で、このテストをする場合には、アドレス0005までは6.のリスト2と同じですから、0006から書くようにしても構いません。

0000 2604  MVI H,04
0002 2E05  MVI L,05
0004 36AB  MVI M,AB
0006 46    MOV B,M
0007 75    MOV M,L
0008 4C    MOV C,H
0009 76    HLT
(リスト3) MOV テストプログラム

●7−2. テストプログラムを実行する

テストプログラムの実行の仕方については 4. テストプログラムを実行する を参照してください。
プログラムは瞬時に最後まで実行されます。
プログラムの最後はアドレス0009のHLT命令(コード76)になっているため、プログラムカウンタと外部アドレスバスには0009が表示され、外部データバス、内部データバス、命令コードレジスタには76が表示されます。
M clockは、AとBが点灯しているように見えます。アドレス0006のHLT命令がT0〜T3のステップを繰り返し実行されていることを示しています。

プログラムを実行すると、メモリアドレス0405(M)にデータABが書き込まれた後、同じメモリアドレスから読み出された値(AB)が、レジスタBに入れられます。
その後メモリアドレス0405には、レジスタLの値(05)が入れられます。
最後にレジスタCにレジスタHの値(04)が入れられたあとHLT命令が実行されます。
テストプログラムの実行後は、レジスタBのLED表示はABになり、レジスタCのLED表示は04になります。

テストプログラム実行直後の写真です。



●7−3. メモリアドレス0405の値を確認する

6−4.と同じように操作して、メモリアドレス0405の値を確認してみてください。
レジスタLの値、05が書き込まれていることが確認できます。

テストプログラム実行後のメモリアドレス0405の値を確認している写真です。



2009.9.8upload

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