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
|
