.XLIST .COMMENT | INITIAL WRITING 12/10/84 SLR PURPOSE: TO SUPPORT INTEL MNEMONICS (SOME ZILOG MNEMONICS WILL NO LONGER WORK) MACROS COMPRESSED TO REQUIRE MINIMUM STORAGE IN MACRO TABLE (I TESTED THESE ON A SIMPLE TEST FILE I KEYED IN. I DON'T HAVE ANY INTEL MNEMONIC STUFF AROUND HERE FOR A REAL GOOD TEST, SO UNTIL I START GETTING FEEDBACK, BE CAREFUL!) IF YOU ARE REALLY SERIOUS ABOUT THIS, LET ME KNOW. THE Z80.LIB FILE CAN BE MODIFIED TO WORK ALSO. TO ALLOW FOR BIGGER EXPRESSIONS, REPLACE 'G J K N' WITH 'G J K N O Q S T' HAVE FUN! STEVE ********************** W A R N I N G ******************************** THESE MACROS DO NOT HANDLE OPERANDS CONTAINING THE '$' PC COUNTER IF YOU HAVE CODE THAT USES THE $ LOCATION IN A JUMP ADDRESS CALCULATION, YOU NEED TO INSERT THE FOLLOWING CODE IN EACH JUMP MACRO: 1. BEFORE THE DW PUT A .PHASE $-1 2. AFTER THE DW PUT A .DEPHASE THAT IS TO MAKE UP FOR THE FACT THAT THE $ COUNTER WILL BE POINTING TO THE DW RATHER THAN THE PRECEDING DB. ONCE THESE MACROS ARE MODIFIED YOU CAN NO LONGER USE THE .PHASE AND .DEPHASE PSEUDO-OPS IN YOUR CODE... | MOV MACRO X,Y IFIDN , LD X,(HL) EXITM ENDIF IFIDN , LD (HL),Y EXITM ENDIF IFIDN , LD X,(HL) EXITM ENDIF IFIDN , LD (HL),Y EXITM ENDIF LD X,Y ENDM HLT MACRO HALT ENDM MVI MACRO R,G J K N IFDIF , IFDIF , LD R,G J K N EXITM ENDIF ELSE LD (HL),G J K N ENDM INR MACRO R IFDIF , IFDIF , INC R EXITM ENDIF ELSE INC (HL) ENDM DCR MACRO R IFDIF , IFDIF , DEC R EXITM ENDIF ELSE DEC (HL) ENDM ADD MACRO R .? 80H,R ENDM .? MACRO R,Y . DEFL 0 IRPC X, IFIDN , DB R+. EXITM ELSE . DEFL .+1 ENDM . DEFL 0 IRPC X, IFIDN , DB R+. EXITM ELSE . DEFL .+1 ENDM ENDM ADC MACRO R .? 88H,R ENDM SUB MACRO R .? 90H,R ENDM SBB MACRO R .? 98H,R ENDM ANA MACRO R .? 0A0H,R ENDM XRA MACRO R .? 0A8H,R ENDM ORA MACRO R .? 0B0H,R ENDM CMP MACRO R .? 0B8H,R ENDM ADI MACRO G J K N DB 0C6H,G J K N ENDM ACI MACRO G J K N DB 0CEH,G J K N ENDM SUI MACRO G J K N DB 0D6H,G J K N ENDM SBI MACRO G J K N DB 0DEH,G J K N ENDM ANI MACRO G J K N DB 0E6H,G J K N ENDM XRI MACRO G J K N DB 0EEH,G J K N ENDM ORI MACRO G J K N DB 0F6H,G J K N ENDM CPI MACRO G J K N DB 0FEH,G J K N ENDM RLC MACRO RLCA ENDM RRC MACRO RRCA ENDM RAL MACRO RLA ENDM RAR MACRO RRA ENDM JMP MACRO G J K N DB 0C3H DW G J K N ENDM JC MACRO G J K N DB 0DAH DW G J K N ENDM JNC MACRO G J K N DB 0D2H DW G J K N ENDM JZ MACRO G J K N DB 0CAH DW G J K N ENDM JNZ MACRO G J K N DB 0C2H DW G J K N ENDM JP MACRO G J K N DB 0F2H DW G J K N ENDM JM MACRO G J K N DB 0FAH DW G J K N ENDM JPE MACRO G J K N DB 0EAH DW G J K N ENDM JPO MACRO G J K N DB 0E2H DW G J K N ENDM CC MACRO G J K N CALL C,G J K N ENDM CNC MACRO G J K N CALL NC,G J K N ENDM CZ MACRO G J K N CALL Z,G J K N ENDM CNZ MACRO G J K N CALL NZ,G J K N ENDM CP MACRO G J K N CALL P,G J K N ENDM CM MACRO G J K N CALL M,G J K N ENDM CPE MACRO G J K N CALL V,G J K N ENDM CPO MACRO G J K N CALL PO,G J K N ENDM RC MACRO RET C ENDM RNC MACRO RET NC ENDM RZ MACRO RET Z ENDM RNZ MACRO RET NZ ENDM RP MACRO RET P ENDM RM MACRO RET M ENDM RPE MACRO RET V ENDM RPO MACRO RET PO ENDM RST MACRO G J K N DB 0C7H+(G J K N)*8 ENDM IN MACRO G J K N DB 0DBH,G J K N ENDM OUT MACRO G J K N DB 0D3H,G J K N ENDM LXI MACRO R,G J K N .. 1,R DW G J K N ENDM PUSH MACRO R .. C5,R ENDM POP MACRO R .. C1,R ENDM STA MACRO G J K N DB 32H DW G J K N ENDM LDA MACRO G J K N DB 3AH DW G J K N ENDM XCHG MACRO DB 0EBH ENDM XTHL MACRO DB 0E3H ENDM SPHL MACRO DB 0F9H ENDM PCHL MACRO DB 0E9H ENDM DAD MACRO R .. 9,R ENDM STAX MACRO R IFIDN , DB 18 EXITM ELSE IFIDN , DB 2 EXITM ELSE IFIDN , DB 18 EXITM ELSE IFIDN , DB 2 ENDM LDAX MACRO R IFIDN , DB 26 EXITM ELSE IFIDN , DB 10 EXITM ELSE IFIDN , DB 26 EXITM ELSE IFIDN , DB 10 ENDM INX MACRO R .. 3,R ENDM DCX MACRO R .. B,R ENDM CMA MACRO CPL ENDM STC MACRO SCF ENDM CMC MACRO CCF ENDM SHLD MACRO G J K N DB 34 DW G J K N ENDM LHLD MACRO G J K N DB 42 DW G J K N ENDM .. MACRO X,Y . DEFL 0 IRP Q, IFIDN , EXITM ELSE . DEFL .+1 IF . EQ 4 . DEFL 3 IFIDN , . DEFL 0 ENDM DB 0&X&H+(. SHL 4) ENDM .LIST