OpenCores
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     


Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.