URL
https://opencores.org/ocsvn/am9080_cpu_based_on_microcoded_am29xx_bit-slices/am9080_cpu_based_on_microcoded_am29xx_bit-slices/trunk
Subversion Repositories am9080_cpu_based_on_microcoded_am29xx_bit-slices
[/] [am9080_cpu_based_on_microcoded_am29xx_bit-slices/] [trunk/] [prog/] [zout/] [cpudiag.lst] - Rev 3
Compare with Previous | Blame | View Log
1: ;***********************************************************************
2: ; MICROCOSM ASSOCIATES 8080/8085 CPU DIAGNOSTIC VERSION 1.0 (C) 1980
3: ;***********************************************************************
4: ;
5: ;DONATED TO THE "SIG/M" CP/M USER'S GROUP BY:
6: ;KELLY SMITH, MICROCOSM ASSOCIATES
7: ;3055 WACO AVENUE
8: ;SIMI VALLEY, CALIFORNIA, 93065
9: ;(805) 527-9321 (MODEM, CP/M-NET (TM))
10: ;(805) 527-0518 (VERBAL)
11: ;
12: - 0005 BDOS EQU 00005H ;BDOS ENTRY TO CP/M
13: - 0000 WBOOT EQU 00000H ;RE-ENTRY TO CP/M WARM BOOT
14: ;
15: ;
16: - 0000 ORG WBOOT; -- CPU starts here after reset
17: 0+4 0000 F3 DI
18: 4+10 0001 C32800 JMP INIT
19: ;
20: ; -- Fake "BDOS", only implement functions 2 and 9 (https://www.seasip.info/Cpm/bdos.html)
21: ;
22: - 0005 ORG BDOS;
23: 14+11 0005 F5 PUSH PSW
24: 25+5 0006 79 MOV A, C
25:
26: 30+7 0007 FE02 CPI 2
27: 37+10 0009 CA1400 JZ C_WRITE
28: 47+7 000C FE09 CPI 9
29: 54+10 000E CA1A00 JZ C_WRITESTR
30: 64+10 0011 C32600 JMP DONE
31:
32: 74+5 0014 7B C_WRITE: MOV A, E
33: 79+10 0015 D300 OUT 00H
34: 89+10 0017 C32600 JMP DONE
35:
36: 99+7 001A 1A C_WRITESTR: LDAX D
37: 106+7 001B FE24 CPI '$'
38: 113+10 001D CA2600 JZ DONE
39: 123+10 0020 D300 OUT 00H
40: 133+5 0022 13 INX D
41: 138+10 0023 C31A00 JMP C_WRITESTR
42:
43: 148+10 0026 F1 DONE: POP PSW
44: 158+10 0027 C9 RET
45:
46: 168+10 0028 210000 INIT: LXI H, 0000H
47: 178+5 002B 2B DCX H
48: 183+5 002C F9 SPHL
49: 188+4 002D FB EI
50: 192+10 002E C3AF01 JMP CPU
51: ;
52: ;
53:
54: - 0100 ORG 00100H
55: ;
56: ;
57: ;
58: 202+10 0100 C3AF01 JMP CPU ;JUMP TO 8080 CPU DIAGNOSTIC
59: ;
60: ;
61: ;
62: - 0103 4D494352 DB 'MICROCOSM ASSOCIATES 8080/8085 CPU DIAGNOSTIC'
4F434F53
4D204153
534F4349
41544553
20383038
302F3830
38352043
50552044
4941474E
4F535449
43
63: - 0130 20564552 DB ' VERSION 1.0 (C) 1980'
53494F4E
20312E30
20202843
29203139
3830
64: ;
65: ;
66: ;
67:
68: ;
69: ;
70: ;
71: ;MESSAGE OUTPUT ROUTINE
72: ;
73: 212+11 0146 D5 MSG: PUSH D ;EXILE D REG.
74: 223+5 0147 EB XCHG ;SWAP H&L REGS. TO D&E REGS.
75: 228+7 0148 0E09 MVI C,9 ;LET BDOS KNOW WE WANT TO SEND A MESSAGE
76: 235+17 014A CD0500 CALL BDOS
77: 252+10 014D D1 POP D ;BACK FROM EXILE
78: 262+10 014E C9 RET
79: ;
80: ;
81: ;
82: ;CHARACTER OUTPUT ROUTINE
83: ;
84: 272+7 014F 0E02 PCHAR: MVI C,2
85: 279+17 0151 CD0500 CALL BDOS
86: 296+10 0154 C9 RET
87: ;
88: ;
89: ;
90: 306+11 0155 F5 BYTEO: PUSH PSW
91: 317+17 0156 CD6501 CALL BYTO1
92: 334+5 0159 5F MOV E,A
93: 339+17 015A CD4F01 CALL PCHAR
94: 356+10 015D F1 POP PSW
95: 366+17 015E CD6901 CALL BYTO2
96: 383+5 0161 5F MOV E,A
97: 388+10 0162 C34F01 JMP PCHAR
98: 398+4 0165 0F BYTO1: RRC
99: 402+4 0166 0F RRC
100: 406+4 0167 0F RRC
101: 410+4 0168 0F RRC
102: 414+7 0169 E60F BYTO2: ANI 0FH
103: 421+7 016B FE0A CPI 0AH
104: 428+10 016D FA7201 JM BYTO3
105: 438+7 0170 C607 ADI 7
106: 445+7 0172 C630 BYTO3: ADI 30H
107: 452+10 0174 C9 RET
108: ;
109: ;
110: ;
111: ;************************************************************
112: ; MESSAGE TABLE FOR OPERATIONAL CPU TEST
113: ;************************************************************
114: ;
115: - 0175 0C0D0A20 OKCPU: DB 0CH,0DH,0AH,' CPU IS OPERATIONAL$'
43505520
4953204F
50455241
54494F4E
414C24
116: ;
117: - 018C 0C0D0A20 NGCPU: DB 0CH,0DH,0AH,' CPU HAS FAILED! ERROR EXIT=$'
43505520
48415320
4641494C
45442120
20202045
52524F52
20455849
543D24
118: ;
119: ;
120: ;
121: ;************************************************************
122: ; 8080/8085 CPU TEST/DIAGNOSTIC
123: ;************************************************************
124: ;
125: ;NOTE: (1) PROGRAM ASSUMES "CALL",AND "LXI SP" INSTRUCTIONS WORK!
126: ;
127: ; (2) INSTRUCTIONS NOT TESTED ARE "HLT","DI","EI","RIM","SIM",
128: ; AND "RST 0" THRU "RST 7"
129: ;
130: ;
131: ;
132: ;TEST JUMP INSTRUCTIONS AND FLAGS
133: ;
134: 462+10 01AF 3180FF CPU: LXI SP,STACK ;SET THE STACK POINTER
135: 472+7 01B2 E600 ANI 0 ;INITIALIZE A REG. AND CLEAR ALL FLAGS
136: 479+10 01B4 CABA01 JZ J010 ;TEST "JZ"
137: 489+17 01B7 CD8D06 CALL CPUER
138: 506+10 01BA D2C001 J010: JNC J020 ;TEST "JNC"
139: 516+17 01BD CD8D06 CALL CPUER
140: 533+10 01C0 EAC601 J020: JPE J030 ;TEST "JPE"
141: 543+17 01C3 CD8D06 CALL CPUER
142: 560+10 01C6 F2CC01 J030: JP J040 ;TEST "JP"
143: 570+17 01C9 CD8D06 CALL CPUER
144: 587+10 01CC C2DB01 J040: JNZ J050 ;TEST "JNZ"
145: 597+10 01CF DADB01 JC J050 ;TEST "JC"
146: 607+10 01D2 E2DB01 JPO J050 ;TEST "JPO"
147: 617+10 01D5 FADB01 JM J050 ;TEST "JM"
148: 627+10 01D8 C3DE01 JMP J060 ;TEST "JMP" (IT'S A LITTLE LATE,BUT WHAT THE HELL!
149: 637+17 01DB CD8D06 J050: CALL CPUER
150: 654+7 01DE C606 J060: ADI 6 ;A=6,C=0,P=1,S=0,Z=0
151: 661+10 01E0 C2E601 JNZ J070 ;TEST "JNZ"
152: 671+17 01E3 CD8D06 CALL CPUER
153: 688+10 01E6 DAEF01 J070: JC J080 ;TEST "JC"
154: 698+10 01E9 E2EF01 JPO J080 ;TEST "JPO"
155: 708+10 01EC F2F201 JP J090 ;TEST "JP"
156: 718+17 01EF CD8D06 J080: CALL CPUER
157: 735+7 01F2 C670 J090: ADI 070H ;A=76H,C=0,P=0,S=0,Z=0
158: 742+10 01F4 E2FA01 JPO J100 ;TEST "JPO"
159: 752+17 01F7 CD8D06 CALL CPUER
160: 769+10 01FA FA0302 J100: JM J110 ;TEST "JM"
161: 779+10 01FD CA0302 JZ J110 ;TEST "JZ"
162: 789+10 0200 D20602 JNC J120 ;TEST "JNC"
163: 799+17 0203 CD8D06 J110: CALL CPUER
164: 816+7 0206 C681 J120: ADI 081H ;A=F7H,C=0,P=0,S=1,Z=0
165: 823+10 0208 FA0E02 JM J130 ;TEST "JM"
166: 833+17 020B CD8D06 CALL CPUER
167: 850+10 020E CA1702 J130: JZ J140 ;TEST "JZ"
168: 860+10 0211 DA1702 JC J140 ;TEST "JC"
169: 870+10 0214 E21A02 JPO J150 ;TEST "JPO"
170: 880+17 0217 CD8D06 J140: CALL CPUER
171: 897+7 021A C6FE J150: ADI 0FEH ;A=F5H,C=1,P=1,S=1,Z=0
172: 904+10 021C DA2202 JC J160 ;TEST "JC"
173: 914+17 021F CD8D06 CALL CPUER
174: 931+10 0222 CA2B02 J160: JZ J170 ;TEST "JZ"
175: 941+10 0225 E22B02 JPO J170 ;TEST "JPO"
176: 951+10 0228 FA2E02 JM AIMM ;TEST "JM"
177: 961+17 022B CD8D06 J170: CALL CPUER
178: ;
179: ;
180: ;
181: ;TEST ACCUMULATOR IMMEDIATE INSTRUCTIONS
182: ;
183: 978+7 022E FE00 AIMM: CPI 0 ;A=F5H,C=0,Z=0
184: 985+10 0230 DA4602 JC CPIE ;TEST "CPI" FOR RE-SET CARRY
185: 995+10 0233 CA4602 JZ CPIE ;TEST "CPI" FOR RE-SET ZERO
186: 1005+7 0236 FEF5 CPI 0F5H ;A=F5H,C=0,Z=1
187: 1012+10 0238 DA4602 JC CPIE ;TEST "CPI" FOR RE-SET CARRY ("ADI")
188: 1022+10 023B C24602 JNZ CPIE ;TEST "CPI" FOR RE-SET ZERO
189: 1032+7 023E FEFF CPI 0FFH ;A=F5H,C=1,Z=0
190: 1039+10 0240 CA4602 JZ CPIE ;TEST "CPI" FOR RE-SET ZERO
191: 1049+10 0243 DA4902 JC ACII ;TEST "CPI" FOR SET CARRY
192: 1059+17 0246 CD8D06 CPIE: CALL CPUER
193: 1076+7 0249 CE0A ACII: ACI 00AH ;A=F5H+0AH+CARRY(1)=0,C=1
194: 1083+7 024B CE0A ACI 00AH ;A=0+0AH+CARRY(0)=0BH,C=0
195: 1090+7 024D FE0B CPI 00BH
196: 1097+10 024F CA5502 JZ SUII ;TEST "ACI"
197: 1107+17 0252 CD8D06 CALL CPUER
198: 1124+7 0255 D60C SUII: SUI 00CH ;A=FFH,C=0
199: 1131+7 0257 D60F SUI 00FH ;A=F0H,C=1
200: 1138+7 0259 FEF0 CPI 0F0H
201: 1145+10 025B CA6102 JZ SBII ;TEST "SUI"
202: 1155+17 025E CD8D06 CALL CPUER
203: 1172+7 0261 DEF1 SBII: SBI 0F1H ;A=F0H-0F1H-CARRY(0)=FFH,C=1
204: 1179+7 0263 DE0E SBI 00EH ;A=FFH-OEH-CARRY(1)=F0H,C=0
205: 1186+7 0265 FEF0 CPI 0F0H
206: 1193+10 0267 CA6D02 JZ ANII ;TEST "SBI"
207: 1203+17 026A CD8D06 CALL CPUER
208: 1220+7 026D E655 ANII: ANI 055H ;A=F0H<AND>55H=50H,C=0,P=1,S=0,Z=0
209: 1227+7 026F FE50 CPI 050H
210: 1234+10 0271 CA7702 JZ ORII ;TEST "ANI"
211: 1244+17 0274 CD8D06 CALL CPUER
212: 1261+7 0277 F63A ORII: ORI 03AH ;A=50H<OR>3AH=7AH,C=0,P=0,S=0,Z=0
213: 1268+7 0279 FE7A CPI 07AH
214: 1275+10 027B CA8102 JZ XRII ;TEST "ORI"
215: 1285+17 027E CD8D06 CALL CPUER
216: 1302+7 0281 EE0F XRII: XRI 00FH ;A=7AH<XOR>0FH=75H,C=0,P=0,S=0,Z=0
217: 1309+7 0283 FE75 CPI 075H
218: 1316+10 0285 CA8B02 JZ C010 ;TEST "XRI"
219: 1326+17 0288 CD8D06 CALL CPUER
220: ;
221: ;
222: ;
223: ;TEST CALLS AND RETURNS
224: ;
225: 1343+7 028B E600 C010: ANI 000H ;A=0,C=0,P=1,S=0,Z=1
226: 1350+11+6 028D DC8D06 CC CPUER ;TEST "CC"
227: 1361+11+6 0290 E48D06 CPO CPUER ;TEST "CPO"
228: 1372+11+6 0293 FC8D06 CM CPUER ;TEST "CM"
229: 1383+11+6 0296 C48D06 CNZ CPUER ;TEST "CNZ"
230: 1394+7 0299 FE00 CPI 000H
231: 1401+10 029B CAA102 JZ C020 ;A=0,C=0,P=0,S=0,Z=1
232: 1411+17 029E CD8D06 CALL CPUER
233: 1428+7 02A1 D677 C020: SUI 077H ;A=89H,C=1,P=0,S=1,Z=0
234: 1435+11+6 02A3 D48D06 CNC CPUER ;TEST "CNC"
235: 1446+11+6 02A6 EC8D06 CPE CPUER ;TEST "CPE"
236: 1457+11+6 02A9 F48D06 CP CPUER ;TEST "CP"
237: 1468+11+6 02AC CC8D06 CZ CPUER ;TEST "CZ"
238: 1479+7 02AF FE89 CPI 089H
239: 1486+10 02B1 CAB702 JZ C030 ;TEST FOR "CALLS" TAKING BRANCH
240: 1496+17 02B4 CD8D06 CALL CPUER
241: 1513+7 02B7 E6FF C030: ANI 0FFH ;SET FLAGS BACK!
242: 1520+11+6 02B9 E4C402 CPO CPOI ;TEST "CPO"
243: 1531+7 02BC FED9 CPI 0D9H
244: 1538+10 02BE CA2103 JZ MOVI ;TEST "CALL" SEQUENCE SUCCESS
245: 1548+17 02C1 CD8D06 CALL CPUER
246: 1565+5+6 02C4 E8 CPOI: RPE ;TEST "RPE"
247: 1570+7 02C5 C610 ADI 010H ;A=99H,C=0,P=0,S=1,Z=0
248: 1577+11+6 02C7 ECD002 CPE CPEI ;TEST "CPE"
249: 1588+7 02CA C602 ADI 002H ;A=D9H,C=0,P=0,S=1,Z=0
250: 1595+5+6 02CC E0 RPO ;TEST "RPO"
251: 1600+17 02CD CD8D06 CALL CPUER
252: 1617+5+6 02D0 E0 CPEI: RPO ;TEST "RPO"
253: 1622+7 02D1 C620 ADI 020H ;A=B9H,C=0,P=0,S=1,Z=0
254: 1629+11+6 02D3 FCDC02 CM CMI ;TEST "CM"
255: 1640+7 02D6 C604 ADI 004H ;A=D7H,C=0,P=1,S=1,Z=0
256: 1647+5+6 02D8 E8 RPE ;TEST "RPE"
257: 1652+17 02D9 CD8D06 CALL CPUER
258: 1669+5+6 02DC F0 CMI: RP ;TEST "RP"
259: 1674+7 02DD C680 ADI 080H ;A=39H,C=1,P=1,S=0,Z=0
260: 1681+11+6 02DF F4E802 CP TCPI ;TEST "CP"
261: 1692+7 02E2 C680 ADI 080H ;A=D3H,C=0,P=0,S=1,Z=0
262: 1699+5+6 02E4 F8 RM ;TEST "RM"
263: 1704+17 02E5 CD8D06 CALL CPUER
264: 1721+5+6 02E8 F8 TCPI: RM ;TEST "RM"
265: 1726+7 02E9 C640 ADI 040H ;A=79H,C=0,P=0,S=0,Z=0
266: 1733+11+6 02EB D4F402 CNC CNCI ;TEST "CNC"
267: 1744+7 02EE C640 ADI 040H ;A=53H,C=0,P=1,S=0,Z=0
268: 1751+5+6 02F0 F0 RP ;TEST "RP"
269: 1756+17 02F1 CD8D06 CALL CPUER
270: 1773+5+6 02F4 D8 CNCI: RC ;TEST "RC"
271: 1778+7 02F5 C68F ADI 08FH ;A=08H,C=1,P=0,S=0,Z=0
272: 1785+11+6 02F7 DC0003 CC CCI ;TEST "CC"
273: 1796+7 02FA D602 SUI 002H ;A=13H,C=0,P=0,S=0,Z=0
274: 1803+5+6 02FC D0 RNC ;TEST "RNC"
275: 1808+17 02FD CD8D06 CALL CPUER
276: 1825+5+6 0300 D0 CCI: RNC ;TEST "RNC"
277: 1830+7 0301 C6F7 ADI 0F7H ;A=FFH,C=0,P=1,S=1,Z=0
278: 1837+11+6 0303 C40C03 CNZ CNZI ;TEST "CNZ"
279: 1848+7 0306 C6FE ADI 0FEH ;A=15H,C=1,P=0,S=0,Z=0
280: 1855+5+6 0308 D8 RC ;TEST "RC"
281: 1860+17 0309 CD8D06 CALL CPUER
282: 1877+5+6 030C C8 CNZI: RZ ;TEST "RZ"
283: 1882+7 030D C601 ADI 001H ;A=00H,C=1,P=1,S=0,Z=1
284: 1889+11+6 030F CC1803 CZ CZI ;TEST "CZ"
285: 1900+7 0312 C6D0 ADI 0D0H ;A=17H,C=1,P=1,S=0,Z=0
286: 1907+5+6 0314 C0 RNZ ;TEST "RNZ"
287: 1912+17 0315 CD8D06 CALL CPUER
288: 1929+5+6 0318 C0 CZI: RNZ ;TEST "RNZ"
289: 1934+7 0319 C647 ADI 047H ;A=47H,C=0,P=1,S=0,Z=0
290: 1941+7 031B FE47 CPI 047H ;A=47H,C=0,P=1,S=0,Z=1
291: 1948+5+6 031D C8 RZ ;TEST "RZ"
292: 1953+17 031E CD8D06 CALL CPUER
293: ;
294: ;
295: ;
296: ;TEST "MOV","INR",AND "DCR" INSTRUCTIONS
297: ;
298: 1970+7 0321 3E77 MOVI: MVI A,077H
299: 1977+5 0323 3C INR A
300: 1982+5 0324 47 MOV B,A
301: 1987+5 0325 04 INR B
302: 1992+5 0326 48 MOV C,B
303: 1997+5 0327 0D DCR C
304: 2002+5 0328 51 MOV D,C
305: 2007+5 0329 5A MOV E,D
306: 2012+5 032A 63 MOV H,E
307: 2017+5 032B 6C MOV L,H
308: 2022+5 032C 7D MOV A,L ;TEST "MOV" A,L,H,E,D,C,B,A
309: 2027+5 032D 3D DCR A
310: 2032+5 032E 4F MOV C,A
311: 2037+5 032F 59 MOV E,C
312: 2042+5 0330 6B MOV L,E
313: 2047+5 0331 45 MOV B,L
314: 2052+5 0332 50 MOV D,B
315: 2057+5 0333 62 MOV H,D
316: 2062+5 0334 7C MOV A,H ;TEST "MOV" A,H,D,B,L,E,C,A
317: 2067+5 0335 57 MOV D,A
318: 2072+5 0336 14 INR D
319: 2077+5 0337 6A MOV L,D
320: 2082+5 0338 4D MOV C,L
321: 2087+5 0339 0C INR C
322: 2092+5 033A 61 MOV H,C
323: 2097+5 033B 44 MOV B,H
324: 2102+5 033C 05 DCR B
325: 2107+5 033D 58 MOV E,B
326: 2112+5 033E 7B MOV A,E ;TEST "MOV" A,E,B,H,C,L,D,A
327: 2117+5 033F 5F MOV E,A
328: 2122+5 0340 1C INR E
329: 2127+5 0341 43 MOV B,E
330: 2132+5 0342 60 MOV H,B
331: 2137+5 0343 24 INR H
332: 2142+5 0344 4C MOV C,H
333: 2147+5 0345 69 MOV L,C
334: 2152+5 0346 55 MOV D,L
335: 2157+5 0347 15 DCR D
336: 2162+5 0348 7A MOV A,D ;TEST "MOV" A,D,L,C,H,B,E,A
337: 2167+5 0349 67 MOV H,A
338: 2172+5 034A 25 DCR H
339: 2177+5 034B 54 MOV D,H
340: 2182+5 034C 42 MOV B,D
341: 2187+5 034D 68 MOV L,B
342: 2192+5 034E 2C INR L
343: 2197+5 034F 5D MOV E,L
344: 2202+5 0350 1D DCR E
345: 2207+5 0351 4B MOV C,E
346: 2212+5 0352 79 MOV A,C ;TEST "MOV" A,C,E,L,B,D,H,A
347: 2217+5 0353 6F MOV L,A
348: 2222+5 0354 2D DCR L
349: 2227+5 0355 65 MOV H,L
350: 2232+5 0356 5C MOV E,H
351: 2237+5 0357 53 MOV D,E
352: 2242+5 0358 4A MOV C,D
353: 2247+5 0359 41 MOV B,C
354: 2252+5 035A 78 MOV A,B
355: 2257+7 035B FE77 CPI 077H
356: 2264+11+6 035D C48D06 CNZ CPUER ;TEST "MOV" A,B,C,D,E,H,L,A
357: ;
358: ;
359: ;
360: ;TEST ARITHMETIC AND LOGIC INSTRUCTIONS
361: ;
362: 2275+4 0360 AF XRA A
363: 2279+7 0361 0601 MVI B,001H
364: 2286+7 0363 0E03 MVI C,003H
365: 2293+7 0365 1607 MVI D,007H
366: 2300+7 0367 1E0F MVI E,00FH
367: 2307+7 0369 261F MVI H,01FH
368: 2314+7 036B 2E3F MVI L,03FH
369: 2321+4 036D 80 ADD B
370: 2325+4 036E 81 ADD C
371: 2329+4 036F 82 ADD D
372: 2333+4 0370 83 ADD E
373: 2337+4 0371 84 ADD H
374: 2341+4 0372 85 ADD L
375: 2345+4 0373 87 ADD A
376: 2349+7 0374 FEF0 CPI 0F0H
377: 2356+11+6 0376 C48D06 CNZ CPUER ;TEST "ADD" B,C,D,E,H,L,A
378: 2367+4 0379 90 SUB B
379: 2371+4 037A 91 SUB C
380: 2375+4 037B 92 SUB D
381: 2379+4 037C 93 SUB E
382: 2383+4 037D 94 SUB H
383: 2387+4 037E 95 SUB L
384: 2391+7 037F FE78 CPI 078H
385: 2398+11+6 0381 C48D06 CNZ CPUER ;TEST "SUB" B,C,D,E,H,L
386: 2409+4 0384 97 SUB A
387: 2413+11+6 0385 C48D06 CNZ CPUER ;TEST "SUB" A
388: 2424+7 0388 3E80 MVI A,080H
389: 2431+4 038A 87 ADD A
390: 2435+7 038B 0601 MVI B,001H
391: 2442+7 038D 0E02 MVI C,002H
392: 2449+7 038F 1603 MVI D,003H
393: 2456+7 0391 1E04 MVI E,004H
394: 2463+7 0393 2605 MVI H,005H
395: 2470+7 0395 2E06 MVI L,006H
396: 2477+4 0397 88 ADC B
397: 2481+7 0398 0680 MVI B,080H
398: 2488+4 039A 80 ADD B
399: 2492+4 039B 80 ADD B
400: 2496+4 039C 89 ADC C
401: 2500+4 039D 80 ADD B
402: 2504+4 039E 80 ADD B
403: 2508+4 039F 8A ADC D
404: 2512+4 03A0 80 ADD B
405: 2516+4 03A1 80 ADD B
406: 2520+4 03A2 8B ADC E
407: 2524+4 03A3 80 ADD B
408: 2528+4 03A4 80 ADD B
409: 2532+4 03A5 8C ADC H
410: 2536+4 03A6 80 ADD B
411: 2540+4 03A7 80 ADD B
412: 2544+4 03A8 8D ADC L
413: 2548+4 03A9 80 ADD B
414: 2552+4 03AA 80 ADD B
415: 2556+4 03AB 8F ADC A
416: 2560+7 03AC FE37 CPI 037H
417: 2567+11+6 03AE C48D06 CNZ CPUER ;TEST "ADC" B,C,D,E,H,L,A
418: 2578+7 03B1 3E80 MVI A,080H
419: 2585+4 03B3 87 ADD A
420: 2589+7 03B4 0601 MVI B,001H
421: 2596+4 03B6 98 SBB B
422: 2600+7 03B7 06FF MVI B,0FFH
423: 2607+4 03B9 80 ADD B
424: 2611+4 03BA 99 SBB C
425: 2615+4 03BB 80 ADD B
426: 2619+4 03BC 9A SBB D
427: 2623+4 03BD 80 ADD B
428: 2627+4 03BE 9B SBB E
429: 2631+4 03BF 80 ADD B
430: 2635+4 03C0 9C SBB H
431: 2639+4 03C1 80 ADD B
432: 2643+4 03C2 9D SBB L
433: 2647+7 03C3 FEE0 CPI 0E0H
434: 2654+11+6 03C5 C48D06 CNZ CPUER ;TEST "SBB" B,C,D,E,H,L
435: 2665+7 03C8 3E80 MVI A,080H
436: 2672+4 03CA 87 ADD A
437: 2676+4 03CB 9F SBB A
438: 2680+7 03CC FEFF CPI 0FFH
439: 2687+11+6 03CE C48D06 CNZ CPUER ;TEST "SBB" A
440: 2698+7 03D1 3EFF MVI A,0FFH
441: 2705+7 03D3 06FE MVI B,0FEH
442: 2712+7 03D5 0EFC MVI C,0FCH
443: 2719+7 03D7 16EF MVI D,0EFH
444: 2726+7 03D9 1E7F MVI E,07FH
445: 2733+7 03DB 26F4 MVI H,0F4H
446: 2740+7 03DD 2EBF MVI L,0BFH
447: 2747+4 03DF A7 ANA A
448: 2751+4 03E0 A1 ANA C
449: 2755+4 03E1 A2 ANA D
450: 2759+4 03E2 A3 ANA E
451: 2763+4 03E3 A4 ANA H
452: 2767+4 03E4 A5 ANA L
453: 2771+4 03E5 A7 ANA A
454: 2775+7 03E6 FE24 CPI 024H
455: 2782+11+6 03E8 C48D06 CNZ CPUER ;TEST "ANA" B,C,D,E,H,L,A
456: 2793+4 03EB AF XRA A
457: 2797+7 03EC 0601 MVI B,001H
458: 2804+7 03EE 0E02 MVI C,002H
459: 2811+7 03F0 1604 MVI D,004H
460: 2818+7 03F2 1E08 MVI E,008H
461: 2825+7 03F4 2610 MVI H,010H
462: 2832+7 03F6 2E20 MVI L,020H
463: 2839+4 03F8 B0 ORA B
464: 2843+4 03F9 B1 ORA C
465: 2847+4 03FA B2 ORA D
466: 2851+4 03FB B3 ORA E
467: 2855+4 03FC B4 ORA H
468: 2859+4 03FD B5 ORA L
469: 2863+4 03FE B7 ORA A
470: 2867+7 03FF FE3F CPI 03FH
471: 2874+11+6 0401 C48D06 CNZ CPUER ;TEST "ORA" B,C,D,E,H,L,A
472: 2885+7 0404 3E00 MVI A,000H
473: 2892+7 0406 268F MVI H,08FH
474: 2899+7 0408 2E4F MVI L,04FH
475: 2906+4 040A A8 XRA B
476: 2910+4 040B A9 XRA C
477: 2914+4 040C AA XRA D
478: 2918+4 040D AB XRA E
479: 2922+4 040E AC XRA H
480: 2926+4 040F AD XRA L
481: 2930+7 0410 FECF CPI 0CFH
482: 2937+11+6 0412 C48D06 CNZ CPUER ;TEST "XRA" B,C,D,E,H,L
483: 2948+4 0415 AF XRA A
484: 2952+11+6 0416 C48D06 CNZ CPUER ;TEST "XRA" A
485: 2963+7 0419 0644 MVI B,044H
486: 2970+7 041B 0E45 MVI C,045H
487: 2977+7 041D 1646 MVI D,046H
488: 2984+7 041F 1E47 MVI E,047H
489: ;MVI H,(TEMP0 / 0FFH) ;HIGH BYTE OF TEST MEMORY LOCATION
490: 2991+7 0421 26FF MVI H,(TEMP0 >> 8) ;HIGH BYTE OF TEST MEMORY LOCATION
491: 2998+7 0423 2E02 MVI L,(TEMP0 AND 0FFH) ;LOW BYTE OF TEST MEMORY LOCATION
492: 3005+7 0425 70 MOV M,B
493: 3012+7 0426 0600 MVI B,000H
494: 3019+7 0428 46 MOV B,M
495: 3026+7 0429 3E44 MVI A,044H
496: 3033+4 042B B8 CMP B
497: 3037+11+6 042C C48D06 CNZ CPUER ;TEST "MOV" M,B AND B,M
498: 3048+7 042F 72 MOV M,D
499: 3055+7 0430 1600 MVI D,000H
500: 3062+7 0432 56 MOV D,M
501: 3069+7 0433 3E46 MVI A,046H
502: 3076+4 0435 BA CMP D
503: 3080+11+6 0436 C48D06 CNZ CPUER ;TEST "MOV" M,D AND D,M
504: 3091+7 0439 73 MOV M,E
505: 3098+7 043A 1E00 MVI E,000H
506: 3105+7 043C 5E MOV E,M
507: 3112+7 043D 3E47 MVI A,047H
508: 3119+4 043F BB CMP E
509: 3123+11+6 0440 C48D06 CNZ CPUER ;TEST "MOV" M,E AND E,M
510: 3134+7 0443 74 MOV M,H
511: ;MVI H,(TEMP0 / 0FFH)
512: 3141+7 0444 26FF MVI H,(TEMP0 >> 8)
513: 3148+7 0446 2E02 MVI L,(TEMP0 AND 0FFH)
514: 3155+7 0448 66 MOV H,M
515: ;MVI A,(TEMP0 / 0FFH)
516: 3162+7 0449 3EFF MVI A,(TEMP0 >> 8)
517: 3169+4 044B BC CMP H
518: 3173+11+6 044C C48D06 CNZ CPUER ;TEST "MOV" M,H AND H,M
519: 3184+7 044F 75 MOV M,L
520: ;MVI H,(TEMP0 / 0FFH)
521: 3191+7 0450 26FF MVI H,(TEMP0 >> 8)
522: 3198+7 0452 2E02 MVI L,(TEMP0 AND 0FFH)
523: 3205+7 0454 6E MOV L,M
524: 3212+7 0455 3E02 MVI A,(TEMP0 AND 0FFH)
525: 3219+4 0457 BD CMP L
526: 3223+11+6 0458 C48D06 CNZ CPUER ;TEST "MOV" M,L AND L,M
527: ;MVI H,(TEMP0 / 0FFH)
528: 3234+7 045B 26FF MVI H,(TEMP0 >> 8)
529: 3241+7 045D 2E02 MVI L,(TEMP0 AND 0FFH)
530: 3248+7 045F 3E32 MVI A,032H
531: 3255+7 0461 77 MOV M,A
532: 3262+7 0462 BE CMP M
533: 3269+11+6 0463 C48D06 CNZ CPUER ;TEST "MOV" M,A
534: 3280+7 0466 86 ADD M
535: 3287+7 0467 FE64 CPI 064H
536: 3294+11+6 0469 C48D06 CNZ CPUER ;TEST "ADD" M
537: 3305+4 046C AF XRA A
538: 3309+7 046D 7E MOV A,M
539: 3316+7 046E FE32 CPI 032H
540: 3323+11+6 0470 C48D06 CNZ CPUER ;TEST "MOV" A,M
541: ;MVI H,(TEMP0 / 0FFH)
542: 3334+7 0473 26FF MVI H,(TEMP0 >> 8)
543: 3341+7 0475 2E02 MVI L,(TEMP0 AND 0FFH)
544: 3348+7 0477 7E MOV A,M
545: 3355+7 0478 96 SUB M
546: 3362+11+6 0479 C48D06 CNZ CPUER ;TEST "SUB" M
547: 3373+7 047C 3E80 MVI A,080H
548: 3380+4 047E 87 ADD A
549: 3384+7 047F 8E ADC M
550: 3391+7 0480 FE33 CPI 033H
551: 3398+11+6 0482 C48D06 CNZ CPUER ;TEST "ADC" M
552: 3409+7 0485 3E80 MVI A,080H
553: 3416+4 0487 87 ADD A
554: 3420+7 0488 9E SBB M
555: 3427+7 0489 FECD CPI 0CDH
556: 3434+11+6 048B C48D06 CNZ CPUER ;TEST "SBB" M
557: 3445+7 048E A6 ANA M
558: 3452+11+6 048F C48D06 CNZ CPUER ;TEST "ANA" M
559: 3463+7 0492 3E25 MVI A,025H
560: 3470+7 0494 B6 ORA M
561: 3477+7 0495 FE37 CPI 037H
562: 3484+11+6 0497 C48D06 CNZ CPUER ;TEST "ORA" M
563: 3495+7 049A AE XRA M
564: 3502+7 049B FE05 CPI 005H
565: 3509+11+6 049D C48D06 CNZ CPUER ;TEST "XRA" M
566: 3520+10 04A0 3655 MVI M,055H
567: 3530+10 04A2 34 INR M
568: 3540+10 04A3 35 DCR M
569: 3550+7 04A4 86 ADD M
570: 3557+7 04A5 FE5A CPI 05AH
571: 3564+11+6 04A7 C48D06 CNZ CPUER ;TEST "INR","DCR",AND "MVI" M
572: 3575+10 04AA 01FF12 LXI B,12FFH
573: 3585+10 04AD 11FF12 LXI D,12FFH
574: 3595+10 04B0 21FF12 LXI H,12FFH
575: 3605+5 04B3 03 INX B
576: 3610+5 04B4 13 INX D
577: 3615+5 04B5 23 INX H
578: 3620+7 04B6 3E13 MVI A,013H
579: 3627+4 04B8 B8 CMP B
580: 3631+11+6 04B9 C48D06 CNZ CPUER ;TEST "LXI" AND "INX" B
581: 3642+4 04BC BA CMP D
582: 3646+11+6 04BD C48D06 CNZ CPUER ;TEST "LXI" AND "INX" D
583: 3657+4 04C0 BC CMP H
584: 3661+11+6 04C1 C48D06 CNZ CPUER ;TEST "LXI" AND "INX" H
585: 3672+7 04C4 3E00 MVI A,000H
586: 3679+4 04C6 B9 CMP C
587: 3683+11+6 04C7 C48D06 CNZ CPUER ;TEST "LXI" AND "INX" B
588: 3694+4 04CA BB CMP E
589: 3698+11+6 04CB C48D06 CNZ CPUER ;TEST "LXI" AND "INX" D
590: 3709+4 04CE BD CMP L
591: 3713+11+6 04CF C48D06 CNZ CPUER ;TEST "LXI" AND "INX" H
592: 3724+5 04D2 0B DCX B
593: 3729+5 04D3 1B DCX D
594: 3734+5 04D4 2B DCX H
595: 3739+7 04D5 3E12 MVI A,012H
596: 3746+4 04D7 B8 CMP B
597: 3750+11+6 04D8 C48D06 CNZ CPUER ;TEST "DCX" B
598: 3761+4 04DB BA CMP D
599: 3765+11+6 04DC C48D06 CNZ CPUER ;TEST "DCX" D
600: 3776+4 04DF BC CMP H
601: 3780+11+6 04E0 C48D06 CNZ CPUER ;TEST "DCX" H
602: 3791+7 04E3 3EFF MVI A,0FFH
603: 3798+4 04E5 B9 CMP C
604: 3802+11+6 04E6 C48D06 CNZ CPUER ;TEST "DCX" B
605: 3813+4 04E9 BB CMP E
606: 3817+11+6 04EA C48D06 CNZ CPUER ;TEST "DCX" D
607: 3828+4 04ED BD CMP L
608: 3832+11+6 04EE C48D06 CNZ CPUER ;TEST "DCX" H
609: 3843+13 04F1 3202FF STA TEMP0
610: 3856+4 04F4 AF XRA A
611: 3860+13 04F5 3A02FF LDA TEMP0
612: 3873+7 04F8 FEFF CPI 0FFH
613: 3880+11+6 04FA C48D06 CNZ CPUER ;TEST "LDA" AND "STA"
614: 3891+16 04FD 2A00FF LHLD TEMPP
615: 3907+16 0500 2202FF SHLD TEMP0
616: 3923+13 0503 3A00FF LDA TEMPP
617: 3936+5 0506 47 MOV B,A
618: 3941+13 0507 3A02FF LDA TEMP0
619: 3954+4 050A B8 CMP B
620: 3958+11+6 050B C48D06 CNZ CPUER ;TEST "LHLD" AND "SHLD"
621: 3969+13 050E 3A01FF LDA TEMPP+1
622: 3982+5 0511 47 MOV B,A
623: 3987+13 0512 3A03FF LDA TEMP0+1
624: 4000+4 0515 B8 CMP B
625: 4004+11+6 0516 C48D06 CNZ CPUER ;TEST "LHLD" AND "SHLD"
626: 4015+7 0519 3EAA MVI A,0AAH
627: 4022+13 051B 3202FF STA TEMP0
628: 4035+5 051E 44 MOV B,H
629: 4040+5 051F 4D MOV C,L
630: 4045+4 0520 AF XRA A
631: 4049+7 0521 0A LDAX B
632: 4056+7 0522 FEAA CPI 0AAH
633: 4063+11+6 0524 C48D06 CNZ CPUER ;TEST "LDAX" B
634: 4074+5 0527 3C INR A
635: 4079+7 0528 02 STAX B
636: 4086+13 0529 3A02FF LDA TEMP0
637: 4099+7 052C FEAB CPI 0ABH
638: 4106+11+6 052E C48D06 CNZ CPUER ;TEST "STAX" B
639: 4117+7 0531 3E77 MVI A,077H
640: 4124+13 0533 3202FF STA TEMP0
641: 4137+16 0536 2A00FF LHLD TEMPP
642: 4153+10 0539 110000 LXI D,00000H
643: 4163+5 053C EB XCHG
644: 4168+4 053D AF XRA A
645: 4172+7 053E 1A LDAX D
646: 4179+7 053F FE77 CPI 077H
647: 4186+11+6 0541 C48D06 CNZ CPUER ;TEST "LDAX" D AND "XCHG"
648: 4197+4 0544 AF XRA A
649: 4201+4 0545 84 ADD H
650: 4205+4 0546 85 ADD L
651: 4209+11+6 0547 C48D06 CNZ CPUER ;TEST "XCHG"
652: 4220+7 054A 3ECC MVI A,0CCH
653: 4227+7 054C 12 STAX D
654: 4234+13 054D 3A02FF LDA TEMP0
655: 4247+7 0550 FECC CPI 0CCH
656: 4254+7 0552 12 STAX D
657: 4261+13 0553 3A02FF LDA TEMP0
658: 4274+7 0556 FECC CPI 0CCH
659: 4281+11+6 0558 C48D06 CNZ CPUER ;TEST "STAX" D
660: 4292+10 055B 217777 LXI H,07777H
661: 4302+10 055E 29 DAD H
662: 4312+7 055F 3EEE MVI A,0EEH
663: 4319+4 0561 BC CMP H
664: 4323+11+6 0562 C48D06 CNZ CPUER ;TEST "DAD" H
665: 4334+4 0565 BD CMP L
666: 4338+11+6 0566 C48D06 CNZ CPUER ;TEST "DAD" H
667: 4349+10 0569 215555 LXI H,05555H
668: 4359+10 056C 01FFFF LXI B,0FFFFH
669: 4369+10 056F 09 DAD B
670: 4379+7 0570 3E55 MVI A,055H
671: 4386+11+6 0572 D48D06 CNC CPUER ;TEST "DAD" B
672: 4397+4 0575 BC CMP H
673: 4401+11+6 0576 C48D06 CNZ CPUER ;TEST "DAD" B
674: 4412+7 0579 3E54 MVI A,054H
675: 4419+4 057B BD CMP L
676: 4423+11+6 057C C48D06 CNZ CPUER ;TEST "DAD" B
677: 4434+10 057F 21AAAA LXI H,0AAAAH
678: 4444+10 0582 113333 LXI D,03333H
679: 4454+10 0585 19 DAD D
680: 4464+7 0586 3EDD MVI A,0DDH
681: 4471+4 0588 BC CMP H
682: 4475+11+6 0589 C48D06 CNZ CPUER ;TEST "DAD" D
683: 4486+4 058C BD CMP L
684: 4490+11+6 058D C48D06 CNZ CPUER ;TEST "DAD" B
685: 4501+4 0590 37 STC
686: 4505+11+6 0591 D48D06 CNC CPUER ;TEST "STC"
687: 4516+4 0594 3F CMC
688: 4520+11+6 0595 DC8D06 CC CPUER ;TEST "CMC
689: 4531+7 0598 3EAA MVI A,0AAH
690: 4538+4 059A 2F CMA
691: 4542+7 059B FE55 CPI 055H
692: 4549+11+6 059D C48D06 CNZ CPUER ;TEST "CMA"
693: 4560+4 05A0 B7 ORA A ;RE-SET AUXILIARY CARRY
694: 4564+4 05A1 27 DAA
695: 4568+7 05A2 FE55 CPI 055H
696: 4575+11+6 05A4 C48D06 CNZ CPUER ;TEST "DAA"
697: 4586+7 05A7 3E88 MVI A,088H
698: 4593+4 05A9 87 ADD A
699: 4597+4 05AA 27 DAA
700: 4601+7 05AB FE76 CPI 076H
701: 4608+11+6 05AD C48D06 CNZ CPUER ;TEST "DAA"
702: 4619+4 05B0 AF XRA A
703: 4623+7 05B1 3EAA MVI A,0AAH
704: 4630+4 05B3 27 DAA
705: 4634+11+6 05B4 D48D06 CNC CPUER ;TEST "DAA"
706: 4645+7 05B7 FE10 CPI 010H
707: 4652+11+6 05B9 C48D06 CNZ CPUER ;TEST "DAA"
708: 4663+4 05BC AF XRA A
709: 4667+7 05BD 3E9A MVI A,09AH
710: 4674+4 05BF 27 DAA
711: 4678+11+6 05C0 D48D06 CNC CPUER ;TEST "DAA"
712: 4689+11+6 05C3 C48D06 CNZ CPUER ;TEST "DAA"
713: 4700+4 05C6 37 STC
714: 4704+7 05C7 3E42 MVI A,042H
715: 4711+4 05C9 07 RLC
716: 4715+11+6 05CA DC8D06 CC CPUER ;TEST "RLC" FOR RE-SET CARRY
717: 4726+4 05CD 07 RLC
718: 4730+11+6 05CE D48D06 CNC CPUER ;TEST "RLC" FOR SET CARRY
719: 4741+7 05D1 FE09 CPI 009H
720: 4748+11+6 05D3 C48D06 CNZ CPUER ;TEST "RLC" FOR ROTATION
721: 4759+4 05D6 0F RRC
722: 4763+11+6 05D7 D48D06 CNC CPUER ;TEST "RRC" FOR SET CARRY
723: 4774+4 05DA 0F RRC
724: 4778+7 05DB FE42 CPI 042H
725: 4785+11+6 05DD C48D06 CNZ CPUER ;TEST "RRC" FOR ROTATION
726: 4796+4 05E0 17 RAL
727: 4800+4 05E1 17 RAL
728: 4804+11+6 05E2 D48D06 CNC CPUER ;TEST "RAL" FOR SET CARRY
729: 4815+7 05E5 FE08 CPI 008H
730: 4822+11+6 05E7 C48D06 CNZ CPUER ;TEST "RAL" FOR ROTATION
731: 4833+4 05EA 1F RAR
732: 4837+4 05EB 1F RAR
733: 4841+11+6 05EC DC8D06 CC CPUER ;TEST "RAR" FOR RE-SET CARRY
734: 4852+7 05EF FE02 CPI 002H
735: 4859+11+6 05F1 C48D06 CNZ CPUER ;TEST "RAR" FOR ROTATION
736: 4870+10 05F4 013412 LXI B,01234H
737: 4880+10 05F7 11AAAA LXI D,0AAAAH
738: 4890+10 05FA 215555 LXI H,05555H
739: 4900+4 05FD AF XRA A
740: 4904+11 05FE C5 PUSH B
741: 4915+11 05FF D5 PUSH D
742: 4926+11 0600 E5 PUSH H
743: 4937+11 0601 F5 PUSH PSW
744: 4948+10 0602 010000 LXI B,00000H
745: 4958+10 0605 110000 LXI D,00000H
746: 4968+10 0608 210000 LXI H,00000H
747: 4978+7 060B 3EC0 MVI A,0C0H
748: 4985+7 060D C6F0 ADI 0F0H
749: 4992+10 060F F1 POP PSW
750: 5002+10 0610 E1 POP H
751: 5012+10 0611 D1 POP D
752: 5022+10 0612 C1 POP B
753: 5032+11+6 0613 DC8D06 CC CPUER ;TEST "PUSH PSW" AND "POP PSW"
754: 5043+11+6 0616 C48D06 CNZ CPUER ;TEST "PUSH PSW" AND "POP PSW"
755: 5054+11+6 0619 E48D06 CPO CPUER ;TEST "PUSH PSW" AND "POP PSW"
756: 5065+11+6 061C FC8D06 CM CPUER ;TEST "PUSH PSW" AND "POP PSW"
757: 5076+7 061F 3E12 MVI A,012H
758: 5083+4 0621 B8 CMP B
759: 5087+11+6 0622 C48D06 CNZ CPUER ;TEST "PUSH B" AND "POP B"
760: 5098+7 0625 3E34 MVI A,034H
761: 5105+4 0627 B9 CMP C
762: 5109+11+6 0628 C48D06 CNZ CPUER ;TEST "PUSH B" AND "POP B"
763: 5120+7 062B 3EAA MVI A,0AAH
764: 5127+4 062D BA CMP D
765: 5131+11+6 062E C48D06 CNZ CPUER ;TEST "PUSH D" AND "POP D"
766: 5142+4 0631 BB CMP E
767: 5146+11+6 0632 C48D06 CNZ CPUER ;TEST "PUSH D" AND "POP D"
768: 5157+7 0635 3E55 MVI A,055H
769: 5164+4 0637 BC CMP H
770: 5168+11+6 0638 C48D06 CNZ CPUER ;TEST "PUSH H" AND "POP H"
771: 5179+4 063B BD CMP L
772: 5183+11+6 063C C48D06 CNZ CPUER ;TEST "PUSH H" AND "POP H"
773: 5194+10 063F 210000 LXI H,00000H
774: 5204+10 0642 39 DAD SP
775: 5214+16 0643 2207FF SHLD SAVSTK ;SAVE THE "OLD" STACK-POINTER!
776: 5230+10 0646 3106FF LXI SP,TEMP4
777: 5240+5 0649 3B DCX SP
778: 5245+5 064A 3B DCX SP
779: 5250+5 064B 33 INX SP
780: 5255+5 064C 3B DCX SP
781: 5260+7 064D 3E55 MVI A,055H
782: 5267+13 064F 3204FF STA TEMP2
783: 5280+4 0652 2F CMA
784: 5284+13 0653 3205FF STA TEMP3
785: 5297+10 0656 C1 POP B
786: 5307+4 0657 B8 CMP B
787: 5311+11+6 0658 C48D06 CNZ CPUER ;TEST "LXI","DAD","INX",AND "DCX" SP
788: 5322+4 065B 2F CMA
789: 5326+4 065C B9 CMP C
790: 5330+11+6 065D C48D06 CNZ CPUER ;TEST "LXI","DAD","INX", AND "DCX" SP
791: 5341+10 0660 2106FF LXI H,TEMP4
792: 5351+5 0663 F9 SPHL
793: 5356+10 0664 213377 LXI H,07733H
794: 5366+5 0667 3B DCX SP
795: 5371+5 0668 3B DCX SP
796: 5376+18 0669 E3 XTHL
797: 5394+13 066A 3A05FF LDA TEMP3
798: 5407+7 066D FE77 CPI 077H
799: 5414+11+6 066F C48D06 CNZ CPUER ;TEST "SPHL" AND "XTHL"
800: 5425+13 0672 3A04FF LDA TEMP2
801: 5438+7 0675 FE33 CPI 033H
802: 5445+11+6 0677 C48D06 CNZ CPUER ;TEST "SPHL" AND "XTHL"
803: 5456+7 067A 3E55 MVI A,055H
804: 5463+4 067C BD CMP L
805: 5467+11+6 067D C48D06 CNZ CPUER ;TEST "SPHL" AND "XTHL"
806: 5478+4 0680 2F CMA
807: 5482+4 0681 BC CMP H
808: 5486+11+6 0682 C48D06 CNZ CPUER ;TEST "SPHL" AND "XTHL"
809: 5497+16 0685 2A07FF LHLD SAVSTK ;RESTORE THE "OLD" STACK-POINTER
810: 5513+5 0688 F9 SPHL
811: 5518+10 0689 219F06 LXI H,CPUOK
812: 5528+5 068C E9 PCHL ;TEST "PCHL"
813: ;
814: ;
815: ;
816: 5533+10 068D 218C01 CPUER: LXI H,NGCPU ;OUTPUT "CPU HAS FAILED ERROR EXIT=" TO CONSOLE
817: 5543+17 0690 CD4601 CALL MSG
818: 5560+18 0693 E3 XTHL
819: 5578+5 0694 7C MOV A,H
820: 5583+17 0695 CD5501 CALL BYTEO ;SHOW ERROR EXIT ADDRESS HIGH BYTE
821: 5600+5 0698 7D MOV A,L
822: 5605+17 0699 CD5501 CALL BYTEO ;SHOW ERROR EXIT ADDRESS LOW BYTE
823: 5622+10 069C C30000 JMP WBOOT ;EXIT TO CP/M WARM BOOT
824: ;
825: ;
826: ;
827: 5632+10 069F 217501 CPUOK: LXI H,OKCPU ;OUTPUT "CPU IS OPERATIONAL" TO CONSOLE
828: 5642+17 06A2 CD4601 CALL MSG
829: 5659+10 06A5 C30000 JMP WBOOT ;EXIT TO CP/M WARM BOOT
830: ;
831: ; -------- RAM is implemented in top 256 bytes of the address space -------
832: - FF00 ORG 0FF00H
833: ;
834: - FF00 02FF TEMPP: DW TEMP0 ;POINTER USED TO TEST "LHLD","SHLD",
835: ; AND "LDAX" INSTRUCTIONS
836: ;
837: - FF02 TEMP0: DS 1 ;TEMPORARY STORAGE FOR CPU TEST MEMORY LOCATIONS
838: - FF03 TEMP1: DS 1 ;TEMPORARY STORAGE FOR CPU TEST MEMORY LOCATIONS
839: - FF04 TEMP2 DS 1 ;TEMPORARY STORAGE FOR CPU TEST MEMORY LOCATIONS
840: - FF05 TEMP3: DS 1 ;TEMPORARY STORAGE FOR CPU TEST MEMORY LOCATIONS
841: - FF06 TEMP4: DS 1 ;TEMPORARY STORAGE FOR CPU TEST MEMORY LOCATIONS
842: - FF07 SAVSTK: DS 2 ;TEMPORARY STACK-POINTER STORAGE LOCATION
843: ;
844: ;
845: ;
846: - FF80 STACK EQU TEMPP+128 ;DE-BUG STACK POINTER STORAGE AREA
847: ;
848: ;
849: ;
850: - FF09 END
Statistics:
4 passes
0 jr promotions
62 symbols
1498 bytes
Symbol Table:
acii 249
aimm 22e
anii 26d
bdos = 5
byteo 155
byto1 165
byto2 169
byto3 172
c010 28b
c020 2a1
c030 2b7
c_write 14
c_writestr 1a
cci 300
cmi 2dc
cnci 2f4
cnzi 30c
cpei 2d0
cpie 246
cpoi 2c4
cpu 1af
cpuer 68d
cpuok 69f
czi 318
done 26
init 28
j010 1ba
j020 1c0
j030 1c6
j040 1cc
j050 1db
j060 1de
j070 1e6
j080 1ef
j090 1f2
j100 1fa
j110 203
j120 206
j130 20e
j140 217
j150 21a
j160 222
j170 22b
movi 321
msg 146
ngcpu 18c
okcpu 175
orii 277
pchar 14f
savstk ff07
sbii 261
stack =ff80
suii 255
tcpi 2e8
temp0 ff02
temp1 ff03
temp2 ff04
temp3 ff05
temp4 ff06
tempp ff00
wboot = 0
xrii 281