MYCPU80でCP/Mを!
超巨大基板の8080互換HCMOS・CPUでCP/Mを走らせてしまおうという、なんとも狂気なプロジェクトです!
[第103回]
●/CPM,D
先日からやっとMYCPU80用のZB3DOS(CP/M互換DOS)のテストに入って、少しずつ作業しています。
説明書も準備しなくてはいけませんので、ND80Z3.5(ND80ZV)用のZB3DOS(CP/M互換DOS)説明書をベースにしながら、「ワンボードマイコンでCP/Mを!」の過去記事も参考にしつつテストをすすめています。
過去記事を読んでいましたら、MYCPU80ではパラメータDが付いた/CPMコマンドのテストはまだしていなかったことに気が付きました。
/CPM,Dについては「ワンボードマイコンでCP/Mを!」[第392回]で説明をしていますから、まずはそちらをお読みください。
そこでは参考例として[第100回]でテストしたVFTST0−2を使ってデバッグを行なっています。
VFTST0−2は前回ソースプログラムをザイログニーモニックからインテルニーモニックに書き換えました。
せっかく書き換えたのですからちょうど良い機会です。
VFTST0−2の代わりにMVFTS0−2を使ってデバッグをしてみましょう。
●ユーザープログラムのデバッグ例(MVFTS0−2のデバッグ)
MVFTS0−2のアセンブルリストは前回お見せしましたが、下に再掲しますのでそれを参照しながら以下をお読みください。
2015/1/16 18:54 mvfts0-2.txt
END=013C
;;FUNCTION 0,1,2 TEST
;2013/5/4 5/5 2015/1/16 for MYCPU80 from VFTST0-2
;
ORG $0100
FCALL=$0005
;
0100 0E02 START:MVI C,02
0102 1E2A MVI E,2A;'*'
0104 CD0500 CALL FCALL
0107 0E01 MVI C,01
0109 CD0500 CALL FCALL
010C 323C01 STA BUFF
010F FE12 CPI 12;^R
0111 CA3701 JZ RESET
0114 0E02 MVI C,02
0116 1E3A MVI E,3A;':'
0118 CD0500 CALL FCALL
011B 0600 MVI B,00
011D 3A3C01 LOOP:LDA BUFF
0120 0E02 MVI C,02
0122 5F MOV E,A
0123 CD0500 CALL FCALL
0126 05 DCR B
0127 C21D01 JNZ LOOP
012A 1E0D MVI E,0D
012C CD0500 CALL FCALL
012F 1E0A MVI E,0A
0131 CD0500 CALL FCALL
0134 C30001 JMP START
;
0137 0E00 RESET:MVI C,00
0139 CD0500 CALL FCALL
;
013C 00 BUFF:NOP
;
BUFF =013C FCALL =0005 LOOP =011D
RESET =0137 START =0100
|
