MYCPU80でCP/Mを!
超巨大基板の8080互換HCMOS・CPUでCP/Mを走らせてしまおうという、なんとも狂気なプロジェクトです!
[第100回]
●ファンクション0〜ファンクション2
ファンクション01とファンクション02については前回テストしましたが、以前にND80Z3.5(ND80ZV)用のZB3DOS(CP/M互換DOS)のテストを行なったときには別のプログラムでもテストをしています。
前回のテストはファンクション01が中心でしたが、今回のテストではファンクション02がメインです。
今回のテストではファンクション0のテストも行ないます。
ファンクション0はシステムリセット(リブート)です。
今回のテストプログラムはVFTST0−2です。
VFTST0−2は「ワンボードマイコンでCP/Mを!」[第391回]でテストをしています。
●テストプログラムVFTST0−2
下はVFTST0−2のアセンブルリストです。
2013/5/5 9:32 vftst0-2.txt END=013C ;;FUNCTION 0,1,2 TEST ;2013/5/4 5/5 ; ORG $0100 FCALL=$0005 ; 0100 0E02 START:LD C,02 0102 1E2A LD E,2A;'*' 0104 CD0500 CALL FCALL 0107 0E01 LD C,01 0109 CD0500 CALL FCALL 010C 323C01 LD (BUFF),A 010F FE12 CP 12;^R 0111 CA3701 JP Z,RESET 0114 0E02 LD C,02 0116 1E3A LD E,3A;':' 0118 CD0500 CALL FCALL 011B 0600 LD B,00 011D 3A3C01 LOOP:LD A,(BUFF) 0120 0E02 LD C,02 0122 5F LD E,A 0123 CD0500 CALL FCALL 0126 05 DEC B 0127 C21D01 JP NZ,LOOP 012A 1E0D LD E,0D 012C CD0500 CALL FCALL 012F 1E0A LD E,0A 0131 CD0500 CALL FCALL 0134 C30001 JP START ; 0137 0E00 RESET:LD C,00 0139 CD0500 CALL FCALL ; 013C 00 BUFF:NOP ; BUFF =013C FCALL =0005 LOOP =011D RESET =0137 START =0100 |
2015/1/13 14:54 mf02tst.txt END=0144 ;;;FUNCTION02 TEST from VFTST1 ;;; 15/1/13 ; ORG $0100 FCALL=$0005 ; 0100 3E00 MVI A,00 0102 F5 LOOP:PUSH PSW 0103 57 MOV D,A 0104 CD3B01 CALL HEX1 0107 5F MOV E,A 0108 7A MOV A,D 0109 0F RRC 010A 0F RRC 010B 0F RRC 010C 0F RRC 010D CD3B01 CALL HEX1 0110 D5 PUSH D 0111 5F MOV E,A 0112 0E02 MVI C,02 0114 CD0500 CALL FCALL 0117 D1 POP D 0118 0E02 MVI C,02 011A CD0500 CALL FCALL 011D 1E3A MVI E,3A;':' 011F 0E02 MVI C,02 0121 CD0500 CALL FCALL 0124 F1 POP PSW 0125 5F MOV E,A 0126 F5 PUSH PSW 0127 0E02 MVI C,02 0129 CD0500 CALL FCALL 012C 1E2C MVI E,2C 012E 0E02 MVI C,02 0130 CD0500 CALL FCALL 0133 F1 POP PSW 0134 3C INR A 0135 FE20 CPI 20 0137 C20201 JNZ LOOP 013A C9 RET 013B E60F HEX1:ANI 0F 013D C630 ADI 30 013F FE3A CPI 3A 0141 D8 RC;0-9 0142 C607 ADI 07;A-F 0144 C9 RET ; FCALL =0005 HEX1 =013B LOOP =0102 |
2015/1/13 15:54 mf02tst2.txt END=014B ;;;FUNCTION02 TEST /2 ;;; 15/1/13 ; ORG $0100 FCALL=$0005 ; 0100 3E08 MVI A,08 0102 F5 LOOP:PUSH PSW 0103 57 MOV D,A 0104 CD4201 CALL HEX1 0107 5F MOV E,A 0108 7A MOV A,D 0109 0F RRC 010A 0F RRC 010B 0F RRC 010C 0F RRC 010D CD4201 CALL HEX1 0110 D5 PUSH D 0111 5F MOV E,A 0112 0E02 MVI C,02 0114 CD0500 CALL FCALL 0117 D1 POP D 0118 0E02 MVI C,02 011A CD0500 CALL FCALL 011D 1E3A MVI E,3A;':' 011F 0E02 MVI C,02 0121 CD0500 CALL FCALL 0124 F1 POP PSW 0125 5F MOV E,A 0126 F5 PUSH PSW 0127 0E02 MVI C,02 0129 CD0500 CALL FCALL 012C 1E2C MVI E,2C 012E 0E02 MVI C,02 0130 CD0500 CALL FCALL 0133 1E0A MVI E,0A 0135 0E02 MVI C,02 0137 CD0500 CALL FCALL 013A F1 POP PSW 013B 3C INR A 013C FE0E CPI 0E 013E C20201 JNZ LOOP 0141 C9 RET 0142 E60F HEX1:ANI 0F 0144 C630 ADI 30 0146 FE3A CPI 3A 0148 D8 RC;0-9 0149 C607 ADI 07;A-F 014B C9 RET ; FCALL =0005 HEX1 =0142 LOOP =0102 |