981 lines
41 KiB
Plaintext
981 lines
41 KiB
Plaintext
;***********************************************************************
|
|
; MICROCOSM ASSOCIATES 8080/8085 CPU DIAGNOSTIC VERSION 1.0 (C) 1980
|
|
;***********************************************************************
|
|
;
|
|
;DONATED TO THE "SIG/M" CP/M USER'S GROUP BY:
|
|
;KELLY SMITH, MICROCOSM ASSOCIATES
|
|
;3055 WACO AVENUE
|
|
;SIMI VALLEY, CALIFORNIA, 93065
|
|
;(805) 527-9321 (MODEM, CP/M-NET (TM))
|
|
;(805) 527-0518 (VERBAL)
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
;
|
|
|
|
ORG 00100H
|
|
;
|
|
;
|
|
;
|
|
0100 C3 AB 01 JMP CPU ;JUMP TO 8080 CPU DIAGNOSTIC
|
|
;
|
|
;
|
|
;
|
|
0103 4D 49 43 52 DB 'MICROCOSM ASSOCIATES 8080/8085 CPU DIAGNOSTIC'
|
|
. . .
|
|
012F 43
|
|
0130 20 56 45 52 DB ' VERSION 1.0 (C) 1980'
|
|
. . .
|
|
0144 30
|
|
;
|
|
;
|
|
;
|
|
BDOS EQU 00005H ;BDOS ENTRY TO CP/M
|
|
WBOOT EQU 00000H ;RE-ENTRY TO CP/M WARM BOOT
|
|
;
|
|
;
|
|
;
|
|
;MESSAGE OUTPUT ROUTINE
|
|
;
|
|
0145 D5 MSG: PUSH D ;EXILE D REG.
|
|
0146 EB XCHG ;SWAP H&L REGS. TO D&E REGS.
|
|
0147 0E 09 MVI C,9 ;LET BDOS KNOW WE WANT TO SEND A MESSAGE
|
|
0149 CD 05 00 CALL BDOS
|
|
014C D1 POP D ;BACK FROM EXILE
|
|
014D C9 RET
|
|
;
|
|
;
|
|
;
|
|
;CHARACTER OUTPUT ROUTINE
|
|
;
|
|
014E 0E 02 PCHAR: MVI C,2
|
|
0150 CD 05 00 CALL BDOS
|
|
0153 C9 RET
|
|
;
|
|
;
|
|
;
|
|
0154 F5 BYTEO: PUSH PSW
|
|
0155 CD 64 01 CALL BYTO1
|
|
0158 5F MOV E,A
|
|
0159 CD 4E 01 CALL PCHAR
|
|
015C F1 POP PSW
|
|
015D CD 68 01 CALL BYTO2
|
|
0160 5F MOV E,A
|
|
0161 C3 4E 01 JMP PCHAR
|
|
0164 0F BYTO1: RRC
|
|
0165 0F RRC
|
|
0166 0F RRC
|
|
0167 0F RRC
|
|
0168 E6 0F BYTO2: ANI 0FH
|
|
016A FE 0A CPI 0AH
|
|
016C FA 71 01 JM BYTO3
|
|
016F C6 07 ADI 7
|
|
0171 C6 30 BYTO3: ADI 30H
|
|
0173 C9 RET
|
|
;
|
|
;
|
|
;
|
|
;************************************************************
|
|
; MESSAGE TABLE FOR OPERATIONAL CPU TEST
|
|
;************************************************************
|
|
;
|
|
0174 0C 0D 0A 20 OKCPU: DB 0CH,0DH,0AH,' CPU IS OPERATIONAL$'
|
|
. . .
|
|
0188 41 4C 24
|
|
;
|
|
018B 0C 0D 0A 20 NGCPU: DB 0CH,0DH,0AH,' CPU HAS FAILED! ERROR EXIT=$'
|
|
. . .
|
|
01A7 49 54 3D 24
|
|
;
|
|
;
|
|
;
|
|
;************************************************************
|
|
; 8080/8085 CPU TEST/DIAGNOSTIC
|
|
;************************************************************
|
|
;
|
|
;NOTE: (1) PROGRAM ASSUMES "CALL",AND "LXI SP" INSTRUCTIONS WORK!
|
|
;
|
|
; (2) INSTRUCTIONS NOT TESTED ARE "HLT","DI","EI","RIM","SIM",
|
|
; AND "RST 0" THRU "RST 7"
|
|
;
|
|
;
|
|
;
|
|
;TEST JUMP INSTRUCTIONS AND FLAGS
|
|
;
|
|
01AB 31 AD 06 CPU: LXI SP,STACK ;SET THE STACK POINTER
|
|
01AE E6 00 ANI 0 ;INITIALIZE A REG. AND CLEAR ALL FLAGS
|
|
01B0 CA B6 01 JZ J010 ;TEST "JZ"
|
|
01B3 CD 89 06 CALL CPUER
|
|
01B6 D2 BC 01 J010: JNC J020 ;TEST "JNC"
|
|
01B9 CD 89 06 CALL CPUER
|
|
01BC EA C2 01 J020: JPE J030 ;TEST "JPE"
|
|
01BF CD 89 06 CALL CPUER
|
|
01C2 F2 C8 01 J030: JP J040 ;TEST "JP"
|
|
01C5 CD 89 06 CALL CPUER
|
|
01C8 C2 D7 01 J040: JNZ J050 ;TEST "JNZ"
|
|
01CB DA D7 01 JC J050 ;TEST "JC"
|
|
01CE E2 D7 01 JPO J050 ;TEST "JPO"
|
|
01D1 FA D7 01 JM J050 ;TEST "JM"
|
|
01D4 C3 DA 01 JMP J060 ;TEST "JMP" (IT'S A LITTLE LATE,BUT WHAT THE HELL!
|
|
01D7 CD 89 06 J050: CALL CPUER
|
|
01DA C6 06 J060: ADI 6 ;A=6,C=0,P=1,S=0,Z=0
|
|
01DC C2 E2 01 JNZ J070 ;TEST "JNZ"
|
|
01DF CD 89 06 CALL CPUER
|
|
01E2 DA EB 01 J070: JC J080 ;TEST "JC"
|
|
01E5 E2 EB 01 JPO J080 ;TEST "JPO"
|
|
01E8 F2 EE 01 JP J090 ;TEST "JP"
|
|
01EB CD 89 06 J080: CALL CPUER
|
|
01EE C6 70 J090: ADI 070H ;A=76H,C=0,P=0,S=0,Z=0
|
|
01F0 E2 F6 01 JPO J100 ;TEST "JPO"
|
|
01F3 CD 89 06 CALL CPUER
|
|
01F6 FA FF 01 J100: JM J110 ;TEST "JM"
|
|
01F9 CA FF 01 JZ J110 ;TEST "JZ"
|
|
01FC D2 02 02 JNC J120 ;TEST "JNC"
|
|
01FF CD 89 06 J110: CALL CPUER
|
|
0202 C6 81 J120: ADI 081H ;A=F7H,C=0,P=0,S=1,Z=0
|
|
0204 FA 0A 02 JM J130 ;TEST "JM"
|
|
0207 CD 89 06 CALL CPUER
|
|
020A CA 13 02 J130: JZ J140 ;TEST "JZ"
|
|
020D DA 13 02 JC J140 ;TEST "JC"
|
|
0210 E2 16 02 JPO J150 ;TEST "JPO"
|
|
0213 CD 89 06 J140: CALL CPUER
|
|
0216 C6 FE J150: ADI 0FEH ;A=F5H,C=1,P=1,S=1,Z=0
|
|
0218 DA 1E 02 JC J160 ;TEST "JC"
|
|
021B CD 89 06 CALL CPUER
|
|
021E CA 27 02 J160: JZ J170 ;TEST "JZ"
|
|
0221 E2 27 02 JPO J170 ;TEST "JPO"
|
|
0224 FA 2A 02 JM AIMM ;TEST "JM"
|
|
0227 CD 89 06 J170: CALL CPUER
|
|
;
|
|
;
|
|
;
|
|
;TEST ACCUMULATOR IMMEDIATE INSTRUCTIONS
|
|
;
|
|
022A FE 00 AIMM: CPI 0 ;A=F5H,C=0,Z=0
|
|
022C DA 42 02 JC CPIE ;TEST "CPI" FOR RE-SET CARRY
|
|
022F CA 42 02 JZ CPIE ;TEST "CPI" FOR RE-SET ZERO
|
|
0232 FE F5 CPI 0F5H ;A=F5H,C=0,Z=1
|
|
0234 DA 42 02 JC CPIE ;TEST "CPI" FOR RE-SET CARRY ("ADI")
|
|
0237 C2 42 02 JNZ CPIE ;TEST "CPI" FOR RE-SET ZERO
|
|
023A FE FF CPI 0FFH ;A=F5H,C=1,Z=0
|
|
023C CA 42 02 JZ CPIE ;TEST "CPI" FOR RE-SET ZERO
|
|
023F DA 45 02 JC ACII ;TEST "CPI" FOR SET CARRY
|
|
0242 CD 89 06 CPIE: CALL CPUER
|
|
0245 CE 0A ACII: ACI 00AH ;A=F5H+0AH+CARRY(1)=0,C=1
|
|
0247 CE 0A ACI 00AH ;A=0+0AH+CARRY(0)=0BH,C=0
|
|
0249 FE 0B CPI 00BH
|
|
024B CA 51 02 JZ SUII ;TEST "ACI"
|
|
024E CD 89 06 CALL CPUER
|
|
0251 D6 0C SUII: SUI 00CH ;A=FFH,C=0
|
|
0253 D6 0F SUI 00FH ;A=F0H,C=1
|
|
0255 FE F0 CPI 0F0H
|
|
0257 CA 5D 02 JZ SBII ;TEST "SUI"
|
|
025A CD 89 06 CALL CPUER
|
|
025D DE F1 SBII: SBI 0F1H ;A=F0H-0F1H-CARRY(0)=FFH,C=1
|
|
025F DE 0E SBI 00EH ;A=FFH-OEH-CARRY(1)=F0H,C=0
|
|
0261 FE F0 CPI 0F0H
|
|
0263 CA 69 02 JZ ANII ;TEST "SBI"
|
|
0266 CD 89 06 CALL CPUER
|
|
0269 E6 55 ANII: ANI 055H ;A=F0H55H=50H,C=0,P=1,S=0,Z=0
|
|
026B FE 50 CPI 050H
|
|
026D CA 73 02 JZ ORII ;TEST "ANI"
|
|
0270 CD 89 06 CALL CPUER
|
|
0273 F6 3A ORII: ORI 03AH ;A=50H3AH=7AH,C=0,P=0,S=0,Z=0
|
|
0275 FE 7A CPI 07AH
|
|
0277 CA 7D 02 JZ XRII ;TEST "ORI"
|
|
027A CD 89 06 CALL CPUER
|
|
027D EE 0F XRII: XRI 00FH ;A=7AH0FH=75H,C=0,P=0,S=0,Z=0
|
|
027F FE 75 CPI 075H
|
|
0281 CA 87 02 JZ C010 ;TEST "XRI"
|
|
0284 CD 89 06 CALL CPUER
|
|
;
|
|
;
|
|
;
|
|
;TEST CALLS AND RETURNS
|
|
;
|
|
0287 E6 00 C010: ANI 000H ;A=0,C=0,P=1,S=0,Z=1
|
|
0289 DC 89 06 CC CPUER ;TEST "CC"
|
|
028C E4 89 06 CPO CPUER ;TEST "CPO"
|
|
028F FC 89 06 CM CPUER ;TEST "CM"
|
|
0292 C4 89 06 CNZ CPUER ;TEST "CNZ"
|
|
0295 FE 00 CPI 000H
|
|
0297 CA 9D 02 JZ C020 ;A=0,C=0,P=0,S=0,Z=1
|
|
029A CD 89 06 CALL CPUER
|
|
029D D6 77 C020: SUI 077H ;A=89H,C=1,P=0,S=1,Z=0
|
|
029F D4 89 06 CNC CPUER ;TEST "CNC"
|
|
02A2 EC 89 06 CPE CPUER ;TEST "CPE"
|
|
02A5 F4 89 06 CP CPUER ;TEST "CP"
|
|
02A8 CC 89 06 CZ CPUER ;TEST "CZ"
|
|
02AB FE 89 CPI 089H
|
|
02AD CA B3 02 JZ C030 ;TEST FOR "CALLS" TAKING BRANCH
|
|
02B0 CD 89 06 CALL CPUER
|
|
02B3 E6 FF C030: ANI 0FFH ;SET FLAGS BACK!
|
|
02B5 E4 C0 02 CPO CPOI ;TEST "CPO"
|
|
02B8 FE D9 CPI 0D9H
|
|
02BA CA 1D 03 JZ MOVI ;TEST "CALL" SEQUENCE SUCCESS
|
|
02BD CD 89 06 CALL CPUER
|
|
02C0 E8 CPOI: RPE ;TEST "RPE"
|
|
02C1 C6 10 ADI 010H ;A=99H,C=0,P=0,S=1,Z=0
|
|
02C3 EC CC 02 CPE CPEI ;TEST "CPE"
|
|
02C6 C6 02 ADI 002H ;A=D9H,C=0,P=0,S=1,Z=0
|
|
02C8 E0 RPO ;TEST "RPO"
|
|
02C9 CD 89 06 CALL CPUER
|
|
02CC E0 CPEI: RPO ;TEST "RPO"
|
|
02CD C6 20 ADI 020H ;A=B9H,C=0,P=0,S=1,Z=0
|
|
02CF FC D8 02 CM CMI ;TEST "CM"
|
|
02D2 C6 04 ADI 004H ;A=D7H,C=0,P=1,S=1,Z=0
|
|
02D4 E8 RPE ;TEST "RPE"
|
|
02D5 CD 89 06 CALL CPUER
|
|
02D8 F0 CMI: RP ;TEST "RP"
|
|
02D9 C6 80 ADI 080H ;A=39H,C=1,P=1,S=0,Z=0
|
|
02DB F4 E4 02 CP TCPI ;TEST "CP"
|
|
02DE C6 80 ADI 080H ;A=D3H,C=0,P=0,S=1,Z=0
|
|
02E0 F8 RM ;TEST "RM"
|
|
02E1 CD 89 06 CALL CPUER
|
|
02E4 F8 TCPI: RM ;TEST "RM"
|
|
02E5 C6 40 ADI 040H ;A=79H,C=0,P=0,S=0,Z=0
|
|
02E7 D4 F0 02 CNC CNCI ;TEST "CNC"
|
|
02EA C6 40 ADI 040H ;A=53H,C=0,P=1,S=0,Z=0
|
|
02EC F0 RP ;TEST "RP"
|
|
02ED CD 89 06 CALL CPUER
|
|
02F0 D8 CNCI: RC ;TEST "RC"
|
|
02F1 C6 8F ADI 08FH ;A=08H,C=1,P=0,S=0,Z=0
|
|
02F3 DC FC 02 CC CCI ;TEST "CC"
|
|
02F6 D6 02 SUI 002H ;A=13H,C=0,P=0,S=0,Z=0
|
|
02F8 D0 RNC ;TEST "RNC"
|
|
02F9 CD 89 06 CALL CPUER
|
|
02FC D0 CCI: RNC ;TEST "RNC"
|
|
02FD C6 F7 ADI 0F7H ;A=FFH,C=0,P=1,S=1,Z=0
|
|
02FF C4 08 03 CNZ CNZI ;TEST "CNZ"
|
|
0302 C6 FE ADI 0FEH ;A=15H,C=1,P=0,S=0,Z=0
|
|
0304 D8 RC ;TEST "RC"
|
|
0305 CD 89 06 CALL CPUER
|
|
0308 C8 CNZI: RZ ;TEST "RZ"
|
|
0309 C6 01 ADI 001H ;A=00H,C=1,P=1,S=0,Z=1
|
|
030B CC 14 03 CZ CZI ;TEST "CZ"
|
|
030E C6 D0 ADI 0D0H ;A=17H,C=1,P=1,S=0,Z=0
|
|
0310 C0 RNZ ;TEST "RNZ"
|
|
0311 CD 89 06 CALL CPUER
|
|
0314 C0 CZI: RNZ ;TEST "RNZ"
|
|
0315 C6 47 ADI 047H ;A=47H,C=0,P=1,S=0,Z=0
|
|
0317 FE 47 CPI 047H ;A=47H,C=0,P=1,S=0,Z=1
|
|
0319 C8 RZ ;TEST "RZ"
|
|
031A CD 89 06 CALL CPUER
|
|
;
|
|
;
|
|
;
|
|
;TEST "MOV","INR",AND "DCR" INSTRUCTIONS
|
|
;
|
|
031D 3E 77 MOVI: MVI A,077H
|
|
031F 3C INR A
|
|
0320 47 MOV B,A
|
|
0321 04 INR B
|
|
0322 48 MOV C,B
|
|
0323 0D DCR C
|
|
0324 51 MOV D,C
|
|
0325 5A MOV E,D
|
|
0326 63 MOV H,E
|
|
0327 6C MOV L,H
|
|
0328 7D MOV A,L ;TEST "MOV" A,L,H,E,D,C,B,A
|
|
0329 3D DCR A
|
|
032A 4F MOV C,A
|
|
032B 59 MOV E,C
|
|
032C 6B MOV L,E
|
|
032D 45 MOV B,L
|
|
032E 50 MOV D,B
|
|
032F 62 MOV H,D
|
|
0330 7C MOV A,H ;TEST "MOV" A,H,D,B,L,E,C,A
|
|
0331 57 MOV D,A
|
|
0332 14 INR D
|
|
0333 6A MOV L,D
|
|
0334 4D MOV C,L
|
|
0335 0C INR C
|
|
0336 61 MOV H,C
|
|
0337 44 MOV B,H
|
|
0338 05 DCR B
|
|
0339 58 MOV E,B
|
|
033A 7B MOV A,E ;TEST "MOV" A,E,B,H,C,L,D,A
|
|
033B 5F MOV E,A
|
|
033C 1C INR E
|
|
033D 43 MOV B,E
|
|
033E 60 MOV H,B
|
|
033F 24 INR H
|
|
0340 4C MOV C,H
|
|
0341 69 MOV L,C
|
|
0342 55 MOV D,L
|
|
0343 15 DCR D
|
|
0344 7A MOV A,D ;TEST "MOV" A,D,L,C,H,B,E,A
|
|
0345 67 MOV H,A
|
|
0346 25 DCR H
|
|
0347 54 MOV D,H
|
|
0348 42 MOV B,D
|
|
0349 68 MOV L,B
|
|
034A 2C INR L
|
|
034B 5D MOV E,L
|
|
034C 1D DCR E
|
|
034D 4B MOV C,E
|
|
034E 79 MOV A,C ;TEST "MOV" A,C,E,L,B,D,H,A
|
|
034F 6F MOV L,A
|
|
0350 2D DCR L
|
|
0351 65 MOV H,L
|
|
0352 5C MOV E,H
|
|
0353 53 MOV D,E
|
|
0354 4A MOV C,D
|
|
0355 41 MOV B,C
|
|
0356 78 MOV A,B
|
|
0357 FE 77 CPI 077H
|
|
0359 C4 89 06 CNZ CPUER ;TEST "MOV" A,B,C,D,E,H,L,A
|
|
;
|
|
;
|
|
;
|
|
;TEST ARITHMETIC AND LOGIC INSTRUCTIONS
|
|
;
|
|
035C AF XRA A
|
|
035D 06 01 MVI B,001H
|
|
035F 0E 03 MVI C,003H
|
|
0361 16 07 MVI D,007H
|
|
0363 1E 0F MVI E,00FH
|
|
0365 26 1F MVI H,01FH
|
|
0367 2E 3F MVI L,03FH
|
|
0369 80 ADD B
|
|
036A 81 ADD C
|
|
036B 82 ADD D
|
|
036C 83 ADD E
|
|
036D 84 ADD H
|
|
036E 85 ADD L
|
|
036F 87 ADD A
|
|
0370 FE F0 CPI 0F0H
|
|
0372 C4 89 06 CNZ CPUER ;TEST "ADD" B,C,D,E,H,L,A
|
|
0375 90 SUB B
|
|
0376 91 SUB C
|
|
0377 92 SUB D
|
|
0378 93 SUB E
|
|
0379 94 SUB H
|
|
037A 95 SUB L
|
|
037B FE 78 CPI 078H
|
|
037D C4 89 06 CNZ CPUER ;TEST "SUB" B,C,D,E,H,L
|
|
0380 97 SUB A
|
|
0381 C4 89 06 CNZ CPUER ;TEST "SUB" A
|
|
0384 3E 80 MVI A,080H
|
|
0386 87 ADD A
|
|
0387 06 01 MVI B,001H
|
|
0389 0E 02 MVI C,002H
|
|
038B 16 03 MVI D,003H
|
|
038D 1E 04 MVI E,004H
|
|
038F 26 05 MVI H,005H
|
|
0391 2E 06 MVI L,006H
|
|
0393 88 ADC B
|
|
0394 06 80 MVI B,080H
|
|
0396 80 ADD B
|
|
0397 80 ADD B
|
|
0398 89 ADC C
|
|
0399 80 ADD B
|
|
039A 80 ADD B
|
|
039B 8A ADC D
|
|
039C 80 ADD B
|
|
039D 80 ADD B
|
|
039E 8B ADC E
|
|
039F 80 ADD B
|
|
03A0 80 ADD B
|
|
03A1 8C ADC H
|
|
03A2 80 ADD B
|
|
03A3 80 ADD B
|
|
03A4 8D ADC L
|
|
03A5 80 ADD B
|
|
03A6 80 ADD B
|
|
03A7 8F ADC A
|
|
03A8 FE 37 CPI 037H
|
|
03AA C4 89 06 CNZ CPUER ;TEST "ADC" B,C,D,E,H,L,A
|
|
03AD 3E 80 MVI A,080H
|
|
03AF 87 ADD A
|
|
03B0 06 01 MVI B,001H
|
|
03B2 98 SBB B
|
|
03B3 06 FF MVI B,0FFH
|
|
03B5 80 ADD B
|
|
03B6 99 SBB C
|
|
03B7 80 ADD B
|
|
03B8 9A SBB D
|
|
03B9 80 ADD B
|
|
03BA 9B SBB E
|
|
03BB 80 ADD B
|
|
03BC 9C SBB H
|
|
03BD 80 ADD B
|
|
03BE 9D SBB L
|
|
03BF FE E0 CPI 0E0H
|
|
03C1 C4 89 06 CNZ CPUER ;TEST "SBB" B,C,D,E,H,L
|
|
03C4 3E 80 MVI A,080H
|
|
03C6 87 ADD A
|
|
03C7 9F SBB A
|
|
03C8 FE FF CPI 0FFH
|
|
03CA C4 89 06 CNZ CPUER ;TEST "SBB" A
|
|
03CD 3E FF MVI A,0FFH
|
|
03CF 06 FE MVI B,0FEH
|
|
03D1 0E FC MVI C,0FCH
|
|
03D3 16 EF MVI D,0EFH
|
|
03D5 1E 7F MVI E,07FH
|
|
03D7 26 F4 MVI H,0F4H
|
|
03D9 2E BF MVI L,0BFH
|
|
03DB A7 ANA A
|
|
03DC A1 ANA C
|
|
03DD A2 ANA D
|
|
03DE A3 ANA E
|
|
03DF A4 ANA H
|
|
03E0 A5 ANA L
|
|
03E1 A7 ANA A
|
|
03E2 FE 24 CPI 024H
|
|
03E4 C4 89 06 CNZ CPUER ;TEST "ANA" B,C,D,E,H,L,A
|
|
03E7 AF XRA A
|
|
03E8 06 01 MVI B,001H
|
|
03EA 0E 02 MVI C,002H
|
|
03EC 16 04 MVI D,004H
|
|
03EE 1E 08 MVI E,008H
|
|
03F0 26 10 MVI H,010H
|
|
03F2 2E 20 MVI L,020H
|
|
03F4 B0 ORA B
|
|
03F5 B1 ORA C
|
|
03F6 B2 ORA D
|
|
03F7 B3 ORA E
|
|
03F8 B4 ORA H
|
|
03F9 B5 ORA L
|
|
03FA B7 ORA A
|
|
03FB FE 3F CPI 03FH
|
|
03FD C4 89 06 CNZ CPUER ;TEST "ORA" B,C,D,E,H,L,A
|
|
0400 3E 00 MVI A,000H
|
|
0402 26 8F MVI H,08FH
|
|
0404 2E 4F MVI L,04FH
|
|
0406 A8 XRA B
|
|
0407 A9 XRA C
|
|
0408 AA XRA D
|
|
0409 AB XRA E
|
|
040A AC XRA H
|
|
040B AD XRA L
|
|
040C FE CF CPI 0CFH
|
|
040E C4 89 06 CNZ CPUER ;TEST "XRA" B,C,D,E,H,L
|
|
0411 AF XRA A
|
|
0412 C4 89 06 CNZ CPUER ;TEST "XRA" A
|
|
0415 06 44 MVI B,044H
|
|
0417 0E 45 MVI C,045H
|
|
0419 16 46 MVI D,046H
|
|
041B 1E 47 MVI E,047H
|
|
041D 26 06 MVI H,(TEMP0 / 0FFH) ;HIGH BYTE OF TEST MEMORY LOCATION
|
|
041F 2E A6 MVI L,(TEMP0 AND 0FFH) ;LOW BYTE OF TEST MEMORY LOCATION
|
|
0421 70 MOV M,B
|
|
0422 06 00 MVI B,000H
|
|
0424 46 MOV B,M
|
|
0425 3E 44 MVI A,044H
|
|
0427 B8 CMP B
|
|
0428 C4 89 06 CNZ CPUER ;TEST "MOV" M,B AND B,M
|
|
042B 72 MOV M,D
|
|
042C 16 00 MVI D,000H
|
|
042E 56 MOV D,M
|
|
042F 3E 46 MVI A,046H
|
|
0431 BA CMP D
|
|
0432 C4 89 06 CNZ CPUER ;TEST "MOV" M,D AND D,M
|
|
0435 73 MOV M,E
|
|
0436 1E 00 MVI E,000H
|
|
0438 5E MOV E,M
|
|
0439 3E 47 MVI A,047H
|
|
043B BB CMP E
|
|
043C C4 89 06 CNZ CPUER ;TEST "MOV" M,E AND E,M
|
|
043F 74 MOV M,H
|
|
0440 26 06 MVI H,(TEMP0 / 0FFH)
|
|
0442 2E A6 MVI L,(TEMP0 AND 0FFH)
|
|
0444 66 MOV H,M
|
|
0445 3E 06 MVI A,(TEMP0 / 0FFH)
|
|
0447 BC CMP H
|
|
0448 C4 89 06 CNZ CPUER ;TEST "MOV" M,H AND H,M
|
|
044B 75 MOV M,L
|
|
044C 26 06 MVI H,(TEMP0 / 0FFH)
|
|
044E 2E A6 MVI L,(TEMP0 AND 0FFH)
|
|
0450 6E MOV L,M
|
|
0451 3E A6 MVI A,(TEMP0 AND 0FFH)
|
|
0453 BD CMP L
|
|
0454 C4 89 06 CNZ CPUER ;TEST "MOV" M,L AND L,M
|
|
0457 26 06 MVI H,(TEMP0 / 0FFH)
|
|
0459 2E A6 MVI L,(TEMP0 AND 0FFH)
|
|
045B 3E 32 MVI A,032H
|
|
045D 77 MOV M,A
|
|
045E BE CMP M
|
|
045F C4 89 06 CNZ CPUER ;TEST "MOV" M,A
|
|
0462 86 ADD M
|
|
0463 FE 64 CPI 064H
|
|
0465 C4 89 06 CNZ CPUER ;TEST "ADD" M
|
|
0468 AF XRA A
|
|
0469 7E MOV A,M
|
|
046A FE 32 CPI 032H
|
|
046C C4 89 06 CNZ CPUER ;TEST "MOV" A,M
|
|
046F 26 06 MVI H,(TEMP0 / 0FFH)
|
|
0471 2E A6 MVI L,(TEMP0 AND 0FFH)
|
|
0473 7E MOV A,M
|
|
0474 96 SUB M
|
|
0475 C4 89 06 CNZ CPUER ;TEST "SUB" M
|
|
0478 3E 80 MVI A,080H
|
|
047A 87 ADD A
|
|
047B 8E ADC M
|
|
047C FE 33 CPI 033H
|
|
047E C4 89 06 CNZ CPUER ;TEST "ADC" M
|
|
0481 3E 80 MVI A,080H
|
|
0483 87 ADD A
|
|
0484 9E SBB M
|
|
0485 FE CD CPI 0CDH
|
|
0487 C4 89 06 CNZ CPUER ;TEST "SBB" M
|
|
048A A6 ANA M
|
|
048B C4 89 06 CNZ CPUER ;TEST "ANA" M
|
|
048E 3E 25 MVI A,025H
|
|
0490 B6 ORA M
|
|
0491 FE 37 CPI 037H
|
|
0493 C4 89 06 CNZ CPUER ;TEST "ORA" M
|
|
0496 AE XRA M
|
|
0497 FE 05 CPI 005H
|
|
0499 C4 89 06 CNZ CPUER ;TEST "XRA" M
|
|
049C 36 55 MVI M,055H
|
|
049E 34 INR M
|
|
049F 35 DCR M
|
|
04A0 86 ADD M
|
|
04A1 FE 5A CPI 05AH
|
|
04A3 C4 89 06 CNZ CPUER ;TEST "INR","DCR",AND "MVI" M
|
|
04A6 01 FF 12 LXI B,12FFH
|
|
04A9 11 FF 12 LXI D,12FFH
|
|
04AC 21 FF 12 LXI H,12FFH
|
|
04AF 03 INX B
|
|
04B0 13 INX D
|
|
04B1 23 INX H
|
|
04B2 3E 13 MVI A,013H
|
|
04B4 B8 CMP B
|
|
04B5 C4 89 06 CNZ CPUER ;TEST "LXI" AND "INX" B
|
|
04B8 BA CMP D
|
|
04B9 C4 89 06 CNZ CPUER ;TEST "LXI" AND "INX" D
|
|
04BC BC CMP H
|
|
04BD C4 89 06 CNZ CPUER ;TEST "LXI" AND "INX" H
|
|
04C0 3E 00 MVI A,000H
|
|
04C2 B9 CMP C
|
|
04C3 C4 89 06 CNZ CPUER ;TEST "LXI" AND "INX" B
|
|
04C6 BB CMP E
|
|
04C7 C4 89 06 CNZ CPUER ;TEST "LXI" AND "INX" D
|
|
04CA BD CMP L
|
|
04CB C4 89 06 CNZ CPUER ;TEST "LXI" AND "INX" H
|
|
04CE 0B DCX B
|
|
04CF 1B DCX D
|
|
04D0 2B DCX H
|
|
04D1 3E 12 MVI A,012H
|
|
04D3 B8 CMP B
|
|
04D4 C4 89 06 CNZ CPUER ;TEST "DCX" B
|
|
04D7 BA CMP D
|
|
04D8 C4 89 06 CNZ CPUER ;TEST "DCX" D
|
|
04DB BC CMP H
|
|
04DC C4 89 06 CNZ CPUER ;TEST "DCX" H
|
|
04DF 3E FF MVI A,0FFH
|
|
04E1 B9 CMP C
|
|
04E2 C4 89 06 CNZ CPUER ;TEST "DCX" B
|
|
04E5 BB CMP E
|
|
04E6 C4 89 06 CNZ CPUER ;TEST "DCX" D
|
|
04E9 BD CMP L
|
|
04EA C4 89 06 CNZ CPUER ;TEST "DCX" H
|
|
04ED 32 A6 06 STA TEMP0
|
|
04F0 AF XRA A
|
|
04F1 3A A6 06 LDA TEMP0
|
|
04F4 FE FF CPI 0FFH
|
|
04F6 C4 89 06 CNZ CPUER ;TEST "LDA" AND "STA"
|
|
04F9 2A A4 06 LHLD TEMPP
|
|
04FC 22 A6 06 SHLD TEMP0
|
|
04FF 3A A4 06 LDA TEMPP
|
|
0502 47 MOV B,A
|
|
0503 3A A6 06 LDA TEMP0
|
|
0506 B8 CMP B
|
|
0507 C4 89 06 CNZ CPUER ;TEST "LHLD" AND "SHLD"
|
|
050A 3A A5 06 LDA TEMPP+1
|
|
050D 47 MOV B,A
|
|
050E 3A A7 06 LDA TEMP0+1
|
|
0511 B8 CMP B
|
|
0512 C4 89 06 CNZ CPUER ;TEST "LHLD" AND "SHLD"
|
|
0515 3E AA MVI A,0AAH
|
|
0517 32 A6 06 STA TEMP0
|
|
051A 44 MOV B,H
|
|
051B 4D MOV C,L
|
|
051C AF XRA A
|
|
051D 0A LDAX B
|
|
051E FE AA CPI 0AAH
|
|
0520 C4 89 06 CNZ CPUER ;TEST "LDAX" B
|
|
0523 3C INR A
|
|
0524 02 STAX B
|
|
0525 3A A6 06 LDA TEMP0
|
|
0528 FE AB CPI 0ABH
|
|
052A C4 89 06 CNZ CPUER ;TEST "STAX" B
|
|
052D 3E 77 MVI A,077H
|
|
052F 32 A6 06 STA TEMP0
|
|
0532 2A A4 06 LHLD TEMPP
|
|
0535 11 00 00 LXI D,00000H
|
|
0538 EB XCHG
|
|
0539 AF XRA A
|
|
053A 1A LDAX D
|
|
053B FE 77 CPI 077H
|
|
053D C4 89 06 CNZ CPUER ;TEST "LDAX" D AND "XCHG"
|
|
0540 AF XRA A
|
|
0541 84 ADD H
|
|
0542 85 ADD L
|
|
0543 C4 89 06 CNZ CPUER ;TEST "XCHG"
|
|
0546 3E CC MVI A,0CCH
|
|
0548 12 STAX D
|
|
0549 3A A6 06 LDA TEMP0
|
|
054C FE CC CPI 0CCH
|
|
054E 12 STAX D
|
|
054F 3A A6 06 LDA TEMP0
|
|
0552 FE CC CPI 0CCH
|
|
0554 C4 89 06 CNZ CPUER ;TEST "STAX" D
|
|
0557 21 77 77 LXI H,07777H
|
|
055A 29 DAD H
|
|
055B 3E EE MVI A,0EEH
|
|
055D BC CMP H
|
|
055E C4 89 06 CNZ CPUER ;TEST "DAD" H
|
|
0561 BD CMP L
|
|
0562 C4 89 06 CNZ CPUER ;TEST "DAD" H
|
|
0565 21 55 55 LXI H,05555H
|
|
0568 01 FF FF LXI B,0FFFFH
|
|
056B 09 DAD B
|
|
056C 3E 55 MVI A,055H
|
|
056E D4 89 06 CNC CPUER ;TEST "DAD" B
|
|
0571 BC CMP H
|
|
0572 C4 89 06 CNZ CPUER ;TEST "DAD" B
|
|
0575 3E 54 MVI A,054H
|
|
0577 BD CMP L
|
|
0578 C4 89 06 CNZ CPUER ;TEST "DAD" B
|
|
057B 21 AA AA LXI H,0AAAAH
|
|
057E 11 33 33 LXI D,03333H
|
|
0581 19 DAD D
|
|
0582 3E DD MVI A,0DDH
|
|
0584 BC CMP H
|
|
0585 C4 89 06 CNZ CPUER ;TEST "DAD" D
|
|
0588 BD CMP L
|
|
0589 C4 89 06 CNZ CPUER ;TEST "DAD" B
|
|
058C 37 STC
|
|
058D D4 89 06 CNC CPUER ;TEST "STC"
|
|
0590 3F CMC
|
|
0591 DC 89 06 CC CPUER ;TEST "CMC
|
|
0594 3E AA MVI A,0AAH
|
|
0596 2F CMA
|
|
0597 FE 55 CPI 055H
|
|
0599 C4 89 06 CNZ CPUER ;TEST "CMA"
|
|
059C B7 ORA A ;RE-SET AUXILIARY CARRY
|
|
059D 27 DAA
|
|
059E FE 55 CPI 055H
|
|
05A0 C4 89 06 CNZ CPUER ;TEST "DAA"
|
|
05A3 3E 88 MVI A,088H
|
|
05A5 87 ADD A
|
|
05A6 27 DAA
|
|
05A7 FE 76 CPI 076H
|
|
05A9 C4 89 06 CNZ CPUER ;TEST "DAA"
|
|
05AC AF XRA A
|
|
05AD 3E AA MVI A,0AAH
|
|
05AF 27 DAA
|
|
05B0 D4 89 06 CNC CPUER ;TEST "DAA"
|
|
05B3 FE 10 CPI 010H
|
|
05B5 C4 89 06 CNZ CPUER ;TEST "DAA"
|
|
05B8 AF XRA A
|
|
05B9 3E 9A MVI A,09AH
|
|
05BB 27 DAA
|
|
05BC D4 89 06 CNC CPUER ;TEST "DAA"
|
|
05BF C4 89 06 CNZ CPUER ;TEST "DAA"
|
|
05C2 37 STC
|
|
05C3 3E 42 MVI A,042H
|
|
05C5 07 RLC
|
|
05C6 DC 89 06 CC CPUER ;TEST "RLC" FOR RE-SET CARRY
|
|
05C9 07 RLC
|
|
05CA D4 89 06 CNC CPUER ;TEST "RLC" FOR SET CARRY
|
|
05CD FE 09 CPI 009H
|
|
05CF C4 89 06 CNZ CPUER ;TEST "RLC" FOR ROTATION
|
|
05D2 0F RRC
|
|
05D3 D4 89 06 CNC CPUER ;TEST "RRC" FOR SET CARRY
|
|
05D6 0F RRC
|
|
05D7 FE 42 CPI 042H
|
|
05D9 C4 89 06 CNZ CPUER ;TEST "RRC" FOR ROTATION
|
|
05DC 17 RAL
|
|
05DD 17 RAL
|
|
05DE D4 89 06 CNC CPUER ;TEST "RAL" FOR SET CARRY
|
|
05E1 FE 08 CPI 008H
|
|
05E3 C4 89 06 CNZ CPUER ;TEST "RAL" FOR ROTATION
|
|
05E6 1F RAR
|
|
05E7 1F RAR
|
|
05E8 DC 89 06 CC CPUER ;TEST "RAR" FOR RE-SET CARRY
|
|
05EB FE 02 CPI 002H
|
|
05ED C4 89 06 CNZ CPUER ;TEST "RAR" FOR ROTATION
|
|
05F0 01 34 12 LXI B,01234H
|
|
05F3 11 AA AA LXI D,0AAAAH
|
|
05F6 21 55 55 LXI H,05555H
|
|
05F9 AF XRA A
|
|
05FA C5 PUSH B
|
|
05FB D5 PUSH D
|
|
05FC E5 PUSH H
|
|
05FD F5 PUSH PSW
|
|
05FE 01 00 00 LXI B,00000H
|
|
0601 11 00 00 LXI D,00000H
|
|
0604 21 00 00 LXI H,00000H
|
|
0607 3E C0 MVI A,0C0H
|
|
0609 C6 F0 ADI 0F0H
|
|
060B F1 POP PSW
|
|
060C E1 POP H
|
|
060D D1 POP D
|
|
060E C1 POP B
|
|
060F DC 89 06 CC CPUER ;TEST "PUSH PSW" AND "POP PSW"
|
|
0612 C4 89 06 CNZ CPUER ;TEST "PUSH PSW" AND "POP PSW"
|
|
0615 E4 89 06 CPO CPUER ;TEST "PUSH PSW" AND "POP PSW"
|
|
0618 FC 89 06 CM CPUER ;TEST "PUSH PSW" AND "POP PSW"
|
|
061B 3E 12 MVI A,012H
|
|
061D B8 CMP B
|
|
061E C4 89 06 CNZ CPUER ;TEST "PUSH B" AND "POP B"
|
|
0621 3E 34 MVI A,034H
|
|
0623 B9 CMP C
|
|
0624 C4 89 06 CNZ CPUER ;TEST "PUSH B" AND "POP B"
|
|
0627 3E AA MVI A,0AAH
|
|
0629 BA CMP D
|
|
062A C4 89 06 CNZ CPUER ;TEST "PUSH D" AND "POP D"
|
|
062D BB CMP E
|
|
062E C4 89 06 CNZ CPUER ;TEST "PUSH D" AND "POP D"
|
|
0631 3E 55 MVI A,055H
|
|
0633 BC CMP H
|
|
0634 C4 89 06 CNZ CPUER ;TEST "PUSH H" AND "POP H"
|
|
0637 BD CMP L
|
|
0638 C4 89 06 CNZ CPUER ;TEST "PUSH H" AND "POP H"
|
|
063B 21 00 00 LXI H,00000H
|
|
063E 39 DAD SP
|
|
063F 22 AB 06 SHLD SAVSTK ;SAVE THE "OLD" STACK-POINTER!
|
|
0642 31 AA 06 LXI SP,TEMP4
|
|
0645 3B DCX SP
|
|
0646 3B DCX SP
|
|
0647 33 INX SP
|
|
0648 3B DCX SP
|
|
0649 3E 55 MVI A,055H
|
|
064B 32 A8 06 STA TEMP2
|
|
064E 2F CMA
|
|
064F 32 A9 06 STA TEMP3
|
|
0652 C1 POP B
|
|
0653 B8 CMP B
|
|
0654 C4 89 06 CNZ CPUER ;TEST "LXI","DAD","INX",AND "DCX" SP
|
|
0657 2F CMA
|
|
0658 B9 CMP C
|
|
0659 C4 89 06 CNZ CPUER ;TEST "LXI","DAD","INX", AND "DCX" SP
|
|
065C 21 AA 06 LXI H,TEMP4
|
|
065F F9 SPHL
|
|
0660 21 33 77 LXI H,07733H
|
|
0663 3B DCX SP
|
|
0664 3B DCX SP
|
|
0665 E3 XTHL
|
|
0666 3A A9 06 LDA TEMP3
|
|
0669 FE 77 CPI 077H
|
|
066B C4 89 06 CNZ CPUER ;TEST "SPHL" AND "XTHL"
|
|
066E 3A A8 06 LDA TEMP2
|
|
0671 FE 33 CPI 033H
|
|
0673 C4 89 06 CNZ CPUER ;TEST "SPHL" AND "XTHL"
|
|
0676 3E 55 MVI A,055H
|
|
0678 BD CMP L
|
|
0679 C4 89 06 CNZ CPUER ;TEST "SPHL" AND "XTHL"
|
|
067C 2F CMA
|
|
067D BC CMP H
|
|
067E C4 89 06 CNZ CPUER ;TEST "SPHL" AND "XTHL"
|
|
0681 2A AB 06 LHLD SAVSTK ;RESTORE THE "OLD" STACK-POINTER
|
|
0684 F9 SPHL
|
|
0685 21 9B 06 LXI H,CPUOK
|
|
0688 E9 PCHL ;TEST "PCHL"
|
|
;
|
|
;
|
|
;
|
|
0689 21 8B 01 CPUER: LXI H,NGCPU ;OUTPUT "CPU HAS FAILED ERROR EXIT=" TO CONSOLE
|
|
068C CD 45 01 CALL MSG
|
|
068F E3 XTHL
|
|
0690 7C MOV A,H
|
|
0691 CD 54 01 CALL BYTEO ;SHOW ERROR EXIT ADDRESS HIGH BYTE
|
|
0694 7D MOV A,L
|
|
0695 CD 54 01 CALL BYTEO ;SHOW ERROR EXIT ADDRESS LOW BYTE
|
|
0698 C3 00 00 JMP WBOOT ;EXIT TO CP/M WARM BOOT
|
|
;
|
|
;
|
|
;
|
|
069B 21 74 01 CPUOK: LXI H,OKCPU ;OUTPUT "CPU IS OPERATIONAL" TO CONSOLE
|
|
069E CD 45 01 CALL MSG
|
|
06A1 C3 00 00 JMP WBOOT ;EXIT TO CP/M WARM BOOT
|
|
;
|
|
;
|
|
;
|
|
06A4 A6 06 TEMPP: DW TEMP0 ;POINTER USED TO TEST "LHLD","SHLD",
|
|
; AND "LDAX" INSTRUCTIONS
|
|
;
|
|
06A6 00 TEMP0: DS 1 ;TEMPORARY STORAGE FOR CPU TEST MEMORY LOCATIONS
|
|
06A7 00 TEMP1: DS 1 ;TEMPORARY STORAGE FOR CPU TEST MEMORY LOCATIONS
|
|
06A8 00 TEMP2 DS 1 ;TEMPORARY STORAGE FOR CPU TEST MEMORY LOCATIONS
|
|
06A9 00 TEMP3: DS 1 ;TEMPORARY STORAGE FOR CPU TEST MEMORY LOCATIONS
|
|
06AA 00 TEMP4: DS 1 ;TEMPORARY STORAGE FOR CPU TEST MEMORY LOCATIONS
|
|
06AB 00 00 SAVSTK: DS 2 ;TEMPORARY STACK-POINTER STORAGE LOCATION
|
|
;
|
|
;
|
|
;
|
|
STACK EQU TEMPP+256 ;DE-BUG STACK POINTER STORAGE AREA
|
|
;
|
|
;
|
|
;
|
|
END
|
|
;
|
|
;
|
|
;
|
|
|
|
Labels:
|
|
acii 0245aimm 022Aanii 0269bdos 0005
|
|
byteo 0154byto1 0164byto2 0168byto3 0171
|
|
c010 0287c020 029Dc030 02B3cci 02FC
|
|
cmi 02D8cnci 02F0cnzi 0308cpei 02CC
|
|
cpie 0242cpoi 02C0cpu 01ABcpuer 0689
|
|
cpuok 069Bczi 0314end 06ADj010 01B6
|
|
j020 01BCj030 01C2j040 01C8j050 01D7
|
|
j060 01DAj070 01E2j080 01EBj090 01EE
|
|
j100 01F6j110 01FFj120 0202j130 020A
|
|
j140 0213j150 0216j160 021Ej170 0227
|
|
movi 031Dmsg 0145ngcpu 018Bokcpu 0174
|
|
orii 0273pchar 014Esavstk 06ABsbii 025D
|
|
stack 06ADsuii 0251tcpi 02E4temp0 06A6
|
|
temp1 06A7temp2 06A8temp3 06A9temp4 06AA
|
|
tempp 06A4wboot 0000xrii 027D
|
|
|
|
Memory dump:
|
|
0100: C3 AB 01 4D 49 43 52 4F-43 4F 53 4D 20 41 53 53 ...MICROCOSM.ASS
|
|
0110: 4F 43 49 41 54 45 53 20-38 30 38 30 2F 38 30 38 OCIATES.8080/808
|
|
0120: 35 20 43 50 55 20 44 49-41 47 4E 4F 53 54 49 43 5.CPU.DIAGNOSTIC
|
|
0130: 20 56 45 52 53 49 4F 4E-20 31 2E 30 20 28 43 29 .VERSION.1.0.(C)
|
|
0140: 20 31 39 38 30 D5 EB 0E-09 CD 05 00 D1 C9 0E 02 .1980...........
|
|
0150: CD 05 00 C9 F5 CD 64 01-5F CD 4E 01 F1 CD 68 01 ......d._.N...h.
|
|
0160: 5F C3 4E 01 0F 0F 0F 0F-E6 0F FE 0A FA 71 01 C6 _.N..........q..
|
|
0170: 07 C6 30 C9 0C 0D 0A 20-43 50 55 20 49 53 20 4F ..0.....CPU.IS.O
|
|
0180: 50 45 52 41 54 49 4F 4E-41 4C 24 0C 0D 0A 20 43 PERATIONAL$....C
|
|
0190: 50 55 20 48 41 53 20 46-41 49 4C 45 44 21 20 45 PU.HAS.FAILED!.E
|
|
01A0: 52 52 4F 52 20 45 58 49-54 3D 24 31 AD 06 E6 00 RROR.EXIT=$1....
|
|
01B0: CA B6 01 CD 89 06 D2 BC-01 CD 89 06 EA C2 01 CD ................
|
|
01C0: 89 06 F2 C8 01 CD 89 06-C2 D7 01 DA D7 01 E2 D7 ................
|
|
01D0: 01 FA D7 01 C3 DA 01 CD-89 06 C6 06 C2 E2 01 CD ................
|
|
01E0: 89 06 DA EB 01 E2 EB 01-F2 EE 01 CD 89 06 C6 70 ...............p
|
|
01F0: E2 F6 01 CD 89 06 FA FF-01 CA FF 01 D2 02 02 CD ................
|
|
0200: 89 06 C6 81 FA 0A 02 CD-89 06 CA 13 02 DA 13 02 ................
|
|
0210: E2 16 02 CD 89 06 C6 FE-DA 1E 02 CD 89 06 CA 27 ...............'
|
|
0220: 02 E2 27 02 FA 2A 02 CD-89 06 FE 00 DA 42 02 CA ..'..*.......B..
|
|
0230: 42 02 FE F5 DA 42 02 C2-42 02 FE FF CA 42 02 DA B....B..B....B..
|
|
0240: 45 02 CD 89 06 CE 0A CE-0A FE 0B CA 51 02 CD 89 E...........Q...
|
|
0250: 06 D6 0C D6 0F FE F0 CA-5D 02 CD 89 06 DE F1 DE ........].......
|
|
0260: 0E FE F0 CA 69 02 CD 89-06 E6 55 FE 50 CA 73 02 ....i.....U.P.s.
|
|
0270: CD 89 06 F6 3A FE 7A CA-7D 02 CD 89 06 EE 0F FE ....:.z.}.......
|
|
0280: 75 CA 87 02 CD 89 06 E6-00 DC 89 06 E4 89 06 FC u...............
|
|
0290: 89 06 C4 89 06 FE 00 CA-9D 02 CD 89 06 D6 77 D4 ..............w.
|
|
02A0: 89 06 EC 89 06 F4 89 06-CC 89 06 FE 89 CA B3 02 ................
|
|
02B0: CD 89 06 E6 FF E4 C0 02-FE D9 CA 1D 03 CD 89 06 ................
|
|
02C0: E8 C6 10 EC CC 02 C6 02-E0 CD 89 06 E0 C6 20 FC ................
|
|
02D0: D8 02 C6 04 E8 CD 89 06-F0 C6 80 F4 E4 02 C6 80 ................
|
|
02E0: F8 CD 89 06 F8 C6 40 D4-F0 02 C6 40 F0 CD 89 06 ......@....@....
|
|
02F0: D8 C6 8F DC FC 02 D6 02-D0 CD 89 06 D0 C6 F7 C4 ................
|
|
0300: 08 03 C6 FE D8 CD 89 06-C8 C6 01 CC 14 03 C6 D0 ................
|
|
0310: C0 CD 89 06 C0 C6 47 FE-47 C8 CD 89 06 3E 77 3C ......G.G....>w<
|
|
0320: 47 04 48 0D 51 5A 63 6C-7D 3D 4F 59 6B 45 50 62 G.H.QZcl}=OYkEPb
|
|
0330: 7C 57 14 6A 4D 0C 61 44-05 58 7B 5F 1C 43 60 24 |W.jM.aD.X{_.C`$
|
|
0340: 4C 69 55 15 7A 67 25 54-42 68 2C 5D 1D 4B 79 6F LiU.zg%TBh,].Kyo
|
|
0350: 2D 65 5C 53 4A 41 78 FE-77 C4 89 06 AF 06 01 0E -e\SJAx.w.......
|
|
0360: 03 16 07 1E 0F 26 1F 2E-3F 80 81 82 83 84 85 87 .....&..?.......
|
|
0370: FE F0 C4 89 06 90 91 92-93 94 95 FE 78 C4 89 06 ............x...
|
|
0380: 97 C4 89 06 3E 80 87 06-01 0E 02 16 03 1E 04 26 ....>..........&
|
|
0390: 05 2E 06 88 06 80 80 80-89 80 80 8A 80 80 8B 80 ................
|
|
03A0: 80 8C 80 80 8D 80 80 8F-FE 37 C4 89 06 3E 80 87 .........7...>..
|
|
03B0: 06 01 98 06 FF 80 99 80-9A 80 9B 80 9C 80 9D FE ................
|
|
03C0: E0 C4 89 06 3E 80 87 9F-FE FF C4 89 06 3E FF 06 ....>........>..
|
|
03D0: FE 0E FC 16 EF 1E 7F 26-F4 2E BF A7 A1 A2 A3 A4 .......&........
|
|
03E0: A5 A7 FE 24 C4 89 06 AF-06 01 0E 02 16 04 1E 08 ...$............
|
|
03F0: 26 10 2E 20 B0 B1 B2 B3-B4 B5 B7 FE 3F C4 89 06 &...........?...
|
|
0400: 3E 00 26 8F 2E 4F A8 A9-AA AB AC AD FE CF C4 89 >.&..O..........
|
|
0410: 06 AF C4 89 06 06 44 0E-45 16 46 1E 47 26 06 2E ......D.E.F.G&..
|
|
0420: A6 70 06 00 46 3E 44 B8-C4 89 06 72 16 00 56 3E .p..F>D....r..V>
|
|
0430: 46 BA C4 89 06 73 1E 00-5E 3E 47 BB C4 89 06 74 F....s..^>G....t
|
|
0440: 26 06 2E A6 66 3E 06 BC-C4 89 06 75 26 06 2E A6 &...f>.....u&...
|
|
0450: 6E 3E A6 BD C4 89 06 26-06 2E A6 3E 32 77 BE C4 n>.....&...>2w..
|
|
0460: 89 06 86 FE 64 C4 89 06-AF 7E FE 32 C4 89 06 26 ....d....~.2...&
|
|
0470: 06 2E A6 7E 96 C4 89 06-3E 80 87 8E FE 33 C4 89 ...~....>....3..
|
|
0480: 06 3E 80 87 9E FE CD C4-89 06 A6 C4 89 06 3E 25 .>............>%
|
|
0490: B6 FE 37 C4 89 06 AE FE-05 C4 89 06 36 55 34 35 ..7.........6U45
|
|
04A0: 86 FE 5A C4 89 06 01 FF-12 11 FF 12 21 FF 12 03 ..Z.........!...
|
|
04B0: 13 23 3E 13 B8 C4 89 06-BA C4 89 06 BC C4 89 06 .#>.............
|
|
04C0: 3E 00 B9 C4 89 06 BB C4-89 06 BD C4 89 06 0B 1B >...............
|
|
04D0: 2B 3E 12 B8 C4 89 06 BA-C4 89 06 BC C4 89 06 3E +>.............>
|
|
04E0: FF B9 C4 89 06 BB C4 89-06 BD C4 89 06 32 A6 06 .............2..
|
|
04F0: AF 3A A6 06 FE FF C4 89-06 2A A4 06 22 A6 06 3A .:.......*.."..:
|
|
0500: A4 06 47 3A A6 06 B8 C4-89 06 3A A5 06 47 3A A7 ..G:......:..G:.
|
|
0510: 06 B8 C4 89 06 3E AA 32-A6 06 44 4D AF 0A FE AA .....>.2..DM....
|
|
0520: C4 89 06 3C 02 3A A6 06-FE AB C4 89 06 3E 77 32 ...<.:.......>w2
|
|
0530: A6 06 2A A4 06 11 00 00-EB AF 1A FE 77 C4 89 06 ..*.........w...
|
|
0540: AF 84 85 C4 89 06 3E CC-12 3A A6 06 FE CC 12 3A ......>..:.....:
|
|
0550: A6 06 FE CC C4 89 06 21-77 77 29 3E EE BC C4 89 .......!ww)>....
|
|
0560: 06 BD C4 89 06 21 55 55-01 FF FF 09 3E 55 D4 89 .....!UU....>U..
|
|
0570: 06 BC C4 89 06 3E 54 BD-C4 89 06 21 AA AA 11 33 .....>T....!...3
|
|
0580: 33 19 3E DD BC C4 89 06-BD C4 89 06 37 D4 89 06 3.>.........7...
|
|
0590: 3F DC 89 06 3E AA 2F FE-55 C4 89 06 B7 27 FE 55 ?...>./.U....'.U
|
|
05A0: C4 89 06 3E 88 87 27 FE-76 C4 89 06 AF 3E AA 27 ...>..'.v....>.'
|
|
05B0: D4 89 06 FE 10 C4 89 06-AF 3E 9A 27 D4 89 06 C4 .........>.'....
|
|
05C0: 89 06 37 3E 42 07 DC 89-06 07 D4 89 06 FE 09 C4 ..7>B...........
|
|
05D0: 89 06 0F D4 89 06 0F FE-42 C4 89 06 17 17 D4 89 ........B.......
|
|
05E0: 06 FE 08 C4 89 06 1F 1F-DC 89 06 FE 02 C4 89 06 ................
|
|
05F0: 01 34 12 11 AA AA 21 55-55 AF C5 D5 E5 F5 01 00 .4....!UU.......
|
|
0600: 00 11 00 00 21 00 00 3E-C0 C6 F0 F1 E1 D1 C1 DC ....!..>........
|
|
0610: 89 06 C4 89 06 E4 89 06-FC 89 06 3E 12 B8 C4 89 ...........>....
|
|
0620: 06 3E 34 B9 C4 89 06 3E-AA BA C4 89 06 BB C4 89 .>4....>........
|
|
0630: 06 3E 55 BC C4 89 06 BD-C4 89 06 21 00 00 39 22 .>U........!..9"
|
|
0640: AB 06 31 AA 06 3B 3B 33-3B 3E 55 32 A8 06 2F 32 ..1..;;3;>U2../2
|
|
0650: A9 06 C1 B8 C4 89 06 2F-B9 C4 89 06 21 AA 06 F9 ......./....!...
|
|
0660: 21 33 77 3B 3B E3 3A A9-06 FE 77 C4 89 06 3A A8 !3w;;.:...w...:.
|
|
0670: 06 FE 33 C4 89 06 3E 55-BD C4 89 06 2F BC C4 89 ..3...>U..../...
|
|
0680: 06 2A AB 06 F9 21 9B 06-E9 21 8B 01 CD 45 01 E3 .*...!...!...E..
|
|
0690: 7C CD 54 01 7D CD 54 01-C3 00 00 21 74 01 CD 45 |.T.}.T....!t..E
|
|
06A0: 01 C3 00 00 A6 06 00 00-00 00 00 00 00 ................
|
|
|
|
Intel HEX:
|
|
cat >test.hex <<X
|
|
:20010000C3AB014D4943524F434F534D204153534F43494154455320383038302F383038F6
|
|
:20012000352043505520444941474E4F535449432056455253494F4E20312E3020284329D4
|
|
:200140002031393830D5EB0E09CD0500D1C90E02CD0500C9F5CD64015FCD4E01F1CD6801F6
|
|
:200160005FC34E010F0F0F0FE60FFE0AFA7101C607C630C90C0D0A20435055204953204F87
|
|
:200180005045524154494F4E414C240C0D0A2043505520484153204641494C4544212045DA
|
|
:2001A00052524F5220455849543D2431AD06E600CAB601CD8906D2BC01CD8906EAC201CD33
|
|
:2001C0008906F2C801CD8906C2D701DAD701E2D701FAD701C3DA01CD8906C606C2E201CD69
|
|
:2001E0008906DAEB01E2EB01F2EE01CD8906C670E2F601CD8906FAFF01CAFF01D20202CDCD
|
|
:200200008906C681FA0A02CD8906CA1302DA1302E21602CD8906C6FEDA1E02CD8906CA2777
|
|
:2002200002E22702FA2A02CD8906FE00DA4202CA4202FEF5DA4202C24202FEFFCA4202DA09
|
|
:200240004502CD8906CE0ACE0AFE0BCA5102CD8906D60CD60FFEF0CA5D02CD8906DEF1DEE2
|
|
:200260000EFEF0CA6902CD8906E655FE50CA7302CD8906F63AFE7ACA7D02CD8906EE0FFE85
|
|
:2002800075CA8702CD8906E600DC8906E48906FC8906C48906FE00CA9D02CD8906D677D4B4
|
|
:2002A0008906EC8906F48906CC8906FE89CAB302CD8906E6FFE4C002FED9CA1D03CD89064C
|
|
:2002C000E8C610ECCC02C602E0CD8906E0C620FCD802C604E8CD8906F0C680F4E402C680A2
|
|
:2002E000F8CD8906F8C640D4F002C640F0CD8906D8C68FDCFC02D602D0CD8906D0C6F7C438
|
|
:200300000803C6FED8CD8906C8C601CC1403C6D0C0CD8906C0C647FE47C8CD89063E773C8F
|
|
:200320004704480D515A636C7D3D4F596B4550627C57146A4D0C614405587B5F1C43602476
|
|
:200340004C6955157A67255442682C5D1D4B796F2D655C534A4178FE77C48906AF06010ED1
|
|
:200360000316071E0F261F2E3F80818283848587FEF0C48906909192939495FE78C489066F
|
|
:2003800097C489063E808706010E0216031E0426052E0688068080808980808A80808B8051
|
|
:2003A000808C80808D80808FFE37C489063E808706019806FF8099809A809B809C809DFE1F
|
|
:2003C000E0C489063E80879FFEFFC489063EFF06FE0EFC16EF1E7F26F42EBFA7A1A2A3A491
|
|
:2003E000A5A7FE24C48906AF06010E0216041E0826102E20B0B1B2B3B4B5B7FE3FC489063C
|
|
:200400003E00268F2E4FA8A9AAABACADFECFC48906AFC4890606440E4516461E4726062E93
|
|
:20042000A6700600463E44B8C48906721600563E46BAC48906731E005E3E47BBC489067468
|
|
:2004400026062EA6663E06BCC489067526062EA66E3EA6BDC4890626062EA63E3277BEC4A3
|
|
:20046000890686FE64C48906AF7EFE32C4890626062EA67E96C489063E80878EFE33C4894A
|
|
:20048000063E80879EFECDC48906A6C489063E25B6FE37C48906AEFE05C4890636553435C3
|
|
:2004A00086FE5AC4890601FF1211FF1221FF120313233E13B8C48906BAC48906BCC48906F4
|
|
:2004C0003E00B9C48906BBC48906BDC489060B1B2B3E12B8C48906BAC48906BCC489063EAE
|
|
:2004E000FFB9C48906BBC48906BDC4890632A606AF3AA606FEFFC489062AA40622A6063A34
|
|
:20050000A406473AA606B8C489063AA506473AA706B8C489063EAA32A606444DAF0AFEAA23
|
|
:20052000C489063C023AA606FEABC489063E7732A6062AA406110000EBAF1AFE77C4890654
|
|
:20054000AF8485C489063ECC123AA606FECC123AA606FECCC48906217777293EEEBCC48942
|
|
:2005600006BDC4890621555501FFFF093E55D48906BCC489063E54BDC4890621AAAA113332
|
|
:2005800033193EDDBCC48906BDC4890637D489063FDC89063EAA2FFE55C48906B727FE55A3
|
|
:2005A000C489063E888727FE76C48906AF3EAA27D48906FE10C48906AF3E9A27D48906C456
|
|
:2005C0008906373E4207DC890607D48906FE09C489060FD489060FFE42C489061717D48900
|
|
:2005E00006FE08C489061F1FDC8906FE02C4890601341211AAAA215555AFC5D5E5F5010005
|
|
:20060000001100002100003EC0C6F0F1E1D1C1DC8906C48906E48906FC89063E12B8C4897F
|
|
:20062000063E34B9C489063EAABAC48906BBC489063E55BCC48906BDC48906210000392205
|
|
:20064000AB0631AA063B3B333B3E5532A8062F32A906C1B8C489062FB9C4890621AA06F9D0
|
|
:200660002133773B3BE33AA906FE77C489063AA806FE33C489063E55BDC489062FBCC4895E
|
|
:20068000062AAB06F9219B06E9218B01CD4501E37CCD54017DCD5401C30000217401CD458A
|
|
:0D06A00001C30000A60600000000000000DD
|
|
:00000001FF
|
|
X
|
|
gobjcopy -I ihex test.hex -O binary test.com |