復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります!
[第465回]
●E−80試作3号機の動作テスト
前回からの続きです。
まず手始めにパネルモードで簡単なプログラムを入力して、動作のテストを行ないます。
パネルモードはOSが働かずいきなり何も書かれていないRAMの状態でスタートしますから、一種の暴走状態になります。
ですからまずSTOPスイッチを押してCPUを停止させてから、RESETスイッチを押します。
STOPを押す(RUN/STOPスイッチを押し下げる)と、CPUが停止してWAIT LEDが点灯します。
パネルモードの場合にはSYSTEM RESETでもCPU RESETでもどちらでもよいのですがSYSTEM RESETを押すようにしたほうがよいでしょう。
RESETスイッチを押すとアドレスLEDが全部消灯して、アドレス0000Hを表示します。
このときDATA BUS表示LED(D0〜D7)には、そのときのRAMのアドレス0000Hの値が表示されます。
その写真を撮ると良かったのですが、うっかり撮り忘れてしまいました。
●マシン語プログラムを書く
パネルスイッチを使って次のプログラムをRAMに書きます。
0000 DBFF IN A,(FF)
0002 D3FF OUT (FF),A
0004 C30000 JP $0000
パネルスイッチのアドレス上位8ビット(A8〜A15)はプログラム実行時はI/OアドレスFFHの入力装置として働きます。
またその上方にあるPROGRAMMED LEDはI/OアドレスFFHの出力装置として働きます。
アドレス下位スイッチ(A0〜A7)はデータ(命令)設定スイッチとしても働きます。
アドレスLEDが0000Hを表示している状態でDB(11011011)とセットしてWRITEスイッチを押します(WRITE/WRITE NEXTスイッチを押し上げます)。
すると表示されているメモリアドレスにスイッチで設定した値が書き込まれ、その上方のDATA BUS表示LEDにもその値が表示されます。
同様にしてFF(11111111)を設定して、今度はWRITE NEXTスイッチを押します(WRITE/WRITE NEXTスイッチを押し下げます)。
これ以後はWRITE NEXTを使います。
WRITEは現在表示されているメモリアドレスに値を書き込みます。
WRITE NEXTは次のアドレスを表示した上で、そのアドレスに値を書き込みます。
アドレスLEDの表示が0001HになってDATA BUSの表示はFFHになりました。
D3(11010011)を設定してWRITE NEXTを押します。
FF(11111111)を設定してWRITE NEXTを押します。
C3(11000011)を設定してWRITE NEXTを押します。
00(00000000)を設定してWRITE NEXTを押します。
そのままもう一度WRITE NEXTを押します。
今回は写真は撮りませんでしたが、アドレススイッチ(A0〜A15)を設定してREADスイッチを押す(READ/READ NEXTスイッチを押し上げる)と、その上のアドレスLEDにそのアドレスが表示され、DATA BUS表示LEDには、メモリのそのアドレスの値が表示されます。
READ NEXTを押す(READ/READ NEXTスイッチを押し下げる)と、アドレスLEDに次のアドレスが表示され、DATA BUS表示LEDには、メモリのそのアドレスの値が表示されます。
またRUN/STOPスイッチを押し下げながらREAD/READ NEXTスイッチを押し上げると、アドレスLEDにひとつ前のアドレスが表示され、DATA BUS表示LEDには、メモリのそのアドレスの値が表示されます。
また時間がなくなってしまいました。
次回に続きます。
ワンボードマイコンでCP/Mを![第465回]
2013.8.28upload
前へ
次へ
ホームページトップへ戻る