Blame | Last modification | View Log | Download
IFNDEF MACROS_INCDEFINE MACROS_INC;macros to load value conditionally;load if not sameMACRO LD_NZ REG,VALUEjr z,1fld REG,VALUE1ENDM;load if sameMACRO LD_Z REG,VALUEjr nz,1fld REG,VALUE1ENDM;load if smallerMACRO LD_C REG,VALUEjr nc,1fld REG,VALUE1ENDM;load if not smallerMACRO LD_NC REG,VALUEjr c,1fld REG,VALUE1ENDM; following macros destroy register A!;decrease BC and jump relative if non zeroMACRO DJRNZ_BC LOCATIONdec bcld a,bor cjr nz,LOCATIONENDM;decrease BC and jump if non zeroMACRO DJPNZ_BC LOCATIONdec bcld a,bor cjp nz,LOCATIONENDM;decrease DE and jump relative if non zeroMACRO DJRNZ_DE LOCATIONdec deld a,dor ejr nz,LOCATIONENDM;decrease DE and jump if non zeroMACRO DJPNZ_DE LOCATIONdec deld a,dor ejp nz,LOCATIONENDM;decrease HL and jump relative if non zeroMACRO DJRNZ_HL LOCATIONdec hlld a,hor ljr nz,LOCATIONENDM;decrease HL and jump if non zeroMACRO DJPNZ_HL LOCATIONdec hlld a,hor ljp nz,LOCATIONENDM;add A to BCMACRO ADD_BC_Aadd a,cld c,ajr nc,1finc b1ENDM;add A to DEMACRO ADD_DE_Aadd a,eld e,ajr nc,1finc d1ENDM;add A to HLMACRO ADD_HL_Aadd a,lld l,ajr nc,1finc h1ENDM; Macro's for 24bit values; SUB A:HL with DEMACRO SUB_AHL_DEOR A,ASBC HL,DESBC A,0ENDMMACRO LD_EHL valueLD E,value >> 16LD HL,value & 0xffffENDMMACRO LD_AHL valueLD A,value >> 16LD HL,value & 0xffffENDMMACRO LD_CDE valueLD C,value >> 16LD DE,value & 0xffffENDMMACRO LD_IYLHL valueLD IYL,value >> 16LD HL,value & 0xffffENDMMACRO ADD_AHL_EBCADD HL,BCADC A,EENDM; Macro's for 32bit valuesMACRO LD_DEHL valueLD DE,value >> 16LD HL,value & 0xffffENDMMACRO SRL_DEHLSRL DRR ERR HRR LENDMMACRO SLL_DEHLADD HL,HLRL ERL DENDMENDIF