.NLIST .ENABLE ABS .NLIST MD,CND B=0 C=1 D=2 E=3 H=4 L=5 M=6 SP=%6 PSW=6 A=7 .MACRO RST X .NLIST SRC .IIF NE,X-,.ERROR; OUTSIDE RST RANGE .BYTE <307+X> .LIST SRC .ENDM .MACRO MOV X,Y .NLIST SRC .BYTE <100+<10*X>+Y> .LIST SRC .ENDM .MACRO MVI X,Y .NLIST SRC .BYTE <6+>, .LIST SRC .ENDM .MACRO LXI X,Y .NLIST SRC .IIF GE Y,.BYTE <1+<*20>>,, ;IF ILLEGAL, MAKE LEGAL .IIF LT Y,.BYTE <1+<*20>>,, .LIST SRC .ENDM .MACRO AINST A,B .MACRO A X .NLIST SRC .IIF GE X,.BYTE B,, .IIF LT X,.BYTE B,, .LIST SRC .ENDM .ENDM AINST SHLD,042 AINST LHLD,052 AINST STA,062 AINST LDA,072 AINST JNZ,302 AINST JMP,303 AINST CNZ,304 AINST JZ,312 AINST CZ,314 AINST CALL,315 AINST JNC,322 AINST CNC,324 AINST JC,332 AINST CC,334 AINST JPO,342 AINST CPO,344 AINST JPE,352 AINST CPE,354 AINST JP,362 AINST CP,364 AINST JM,372 AINST CM,374 .MACRO RINST A,B,C,D .MACRO A X .NLIST SRC .BYTE >> .LIST SRC .ENDM .ENDM RINST STAX,002,20,2 RINST INX,003,20,2 RINST INR,004,10,1 RINST DCR,005,10,1 RINST DAD,011,20,2 RINST LDAX,012,20,2 RINST DCX,013,20,2 RINST ADD,200,1,1 RINST ADC,210,1,1 RINST SUB,220,1,1 RINST SBB,230,1,1 RINST ANA,240,1,1 RINST XRA,250,1,1 RINST ORA,260,1,1 RINST CMP,270,1,1 RINST POP,301,20,2 RINST PUSH,305,20,2 .MACRO INST A,C .MACRO A X .NLIST SRC .IIF B,X,.BYTE C .IIF NB,X,.BYTE C, .LIST SRC .ENDM .ENDM INST NOP,000 INST RLC,007 INST RRC,017 INST RAL,027 INST RAR,037 INST DAA,047 INST CMA,057 INST STC,067 INST CMC,077 INST HLT,166 INST RNZ,300 INST RZ,310 INST RET,311 INST RNC,320 INST RC,330 INST RPO,340 INST XTHL,343 INST RPE,350 INST PCHL,351 INST XCHG,353 INST RP,360 INST DI,363 INST RM,370 INST SPHL,371 INST EI,373 INST CPI,376 INST ORI,366 INST XRI,356 INST ANI,346 INST SBI,336 INST SUI,326 INST ACI,316 INST ADI,306 INST IN,333 INST OUT,323 .MACRO CLC ORA A .ENDM .MACRO TST ORA A .ENDM .MACRO CLA XRA A .ENDM .LIST MEB,MD .LIST