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 |