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

復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります

[第466回]

●E−80試作3号機の動作テスト(2)

前回からの続きです。
前回はフロントパネルのスイッチを使って、下のプログラムをメモリに書きました。

0000 DBFF    IN A,(FF)
0002 D3FF    OUT (FF),A
0004 C30000  JP $0000

今回はそのプログラムを実行します。

●プログラムの実行

RESETスイッチを押します。


RUN/STOPスイッチを押し上げると、CPUがスタートし0000Hから書いたプログラムが実行されます。

右から3つ目のLED(RUN)が点灯して、CPUがプログラムを実行中であることを示しています。



プログラムが高速で実行されるためデータバスLEDとアドレスLEDは全部点灯しているように見えます。
ただプログラムが短くて0000H〜0006Hの範囲しかアクセスしないため、上位アドレスのLEDは消灯しています。
それでも下位アドレスのA0〜A7が全点灯しているように見えるのは、IN、OUT命令でFFHをアクセスしているからです。

フロントパネル左側のCPU STATUSは左端のMEMRDだけが点灯しているように見えますが、よく見るとM1、IOWR、IORDも薄く点灯しています。


実際にプログラムが実行されていることは、アドレス上位(A8〜A15)のスイッチを変化させてみるとわかります。
このスイッチはプログラム実行中はI/OアドレスFFHの入力装置として機能します。
スイッチを55Hにしてみました。
するとその上部にあるPROGRAMMED OUTPUTのLEDに55Hが表示されました。

このLEDはプログラム実行中はI/OアドレスFFHの出力装置として機能します。
このプログラムはI/OアドレスFFHのスイッチの値を読んで、I/OアドレスFFHのLEDにその値を表示することを繰り返し実行していますから、スイッチの値を変化させると、その変化がすぐにLEDの表示に反映されます。

ところで、上の写真をよく見ますと、上位アドレスA8〜A15のLEDにもスイッチと同じ55Hが表示されています。
アドレスを設定するときには当然そういうことになりますが、プログラムの実行中にはA8〜A15のLEDと、その下のスイッチは切り離されますから、上の写真のようなことにはならないはずです。
すると、設計ミスか?
いえいえ、そういうことではありません。
Z80に詳しい方でしたら、「ああ、そういうことか」とお気付きになられるかと思います。

このところずっと多忙のため、少しずつしか書く時間がありません。
本日も時間がなくなってしまいました。
この続きは次回に書くことにいたします。

ワンボードマイコンでCP/Mを![第466回]
2013.8.30upload

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