📄 idwracmac.inc
字号:
;========================================================================
; MACRO NAME :TNZDEC
; FUNCTION :if COUNT != 0 then COUNT--
; BREAK :Z,CY
;========================================================================
TNZDEC MACRO COUNTER
CMP COUNTER,#0
BZ $$+2+2
DEC COUNTER
ENDM
;========================================================================
; MACRO NAME :BTJT
; FUNCTION :if FLAG_R,FLAG == 1 then JUMP TO ADDRESS
; BREAK :Z
;========================================================================
BTJT MACRO FLAG,ADDRESS
BT FLAG,$ADDRESS
ENDM
;========================================================================
; MACRO NAME :BTJF
; FUNCTION :if FLAG_R,FLAG == 0 then JUMP TO ADDRESS
; BREAK :Z
;========================================================================
BTJF MACRO FLAG,ADDRESS
BF FLAG,$ADDRESS
ENDM
;========================================================================
; MACRO NAME :BSET
; FUNCTION :flag 'FLAG_R,FLAG' <- 1
; BREAK :Z
;========================================================================
BSET MACRO FLAG
SET1 FLAG
ENDM
;========================================================================
; MACRO NAME :BRES
; FUNCTION :flag 'FLAG_R,FLAG' <- 0
; BREAK :Z
;========================================================================
BRES MACRO FLAG
CLR1 FLAG
ENDM
;========================================================================
; MACRO NAME :JRNE
; FUNCTION :if z == 0 then goto ADDRESS
; BREAK :
;========================================================================
JRNE MACRO ADDRESS
BNZ $ADDRESS
ENDM
;========================================================================
; MACRO NAME :JREQ
; FUNCTION :if z == 1 then goto ADDRESS
; BREAK :Z,CY
;========================================================================
JREQ MACRO ADDRESS
BZ $ADDRESS
ENDM
;========================================================================
; MACRO NAME :JRULT
; FUNCTION :if < then goto ADDRESS
; BREAK :
;========================================================================
JRULT MACRO ADDRESS
BC $ADDRESS
ENDM
;========================================================================
; MACRO NAME :JRULE
; FUNCTION :if <= then goto ADDRESS
; BREAK :
;========================================================================
;JRULE MACRO ADDRESS
; JR ULE,ADDRESS
; ENDM
;========================================================================
; MACRO NAME :JRUGT
; FUNCTION :if > then goto ADDRESS
; BREAK :
;========================================================================
;JRUGT MACRO ADDRESS
; JR UGT,ADDRESS
; ENDM
;========================================================================
; MACRO NAME :JRUGE
; FUNCTION :if >= then goto ADDRESS
; BREAK :
;========================================================================
JRUGE MACRO ADDRESS
BNC $ADDRESS
ENDM
;========================================================================
; MACRO NAME :JRC
; FUNCTION :if cy==1 then goto ADDRESS
; BREAK :
;========================================================================
JRC macro address
BC $address
endm
;========================================================================
; MACRO NAME :JRUGT
; FUNCTION :if cy==0 then goto ADDRESS
; BREAK :
;========================================================================
JRNC macro address
BNC $address
endm
;========================================================================
; MACRO NAME :JP
; FUNCTION : goto ADDRESS
; BREAK :
;========================================================================
JP macro address
BR !address
endm
;========================================================================
; MACRO NAME :TNZ
; FUNCTION :IF R==0 {Z<-1,CY<-0} ELSE (Z<-0,CY<-0)
; BREAK :Z,CY
;========================================================================
TNZ MACRO R
CMP R,#0
ENDM
;========================================================================
; MACRO NAME :LD
; FUNCTION :SORCE->DEST
; BREAK :
;========================================================================
LD MACRO DEST,SORCE
MOV DEST,SORCE
ENDM
;========================================================================
; MACRO NAME :CP
; FUNCTION :COMPARE SORCE,DEST
; BREAK :
;========================================================================
CP MACRO DEST,SORCE
CMP DEST,SORCE
ENDM
;========================================================================
; MACRO NAME :JR
; FUNCTION :JUMP ADDRESS
; BREAK :
;========================================================================
JRA MACRO ADDRESS
BR $ADDRESS
ENDM
;========================================================================
; MACRO NAME :CLR
; FUNCTION :CLEAR DEST
; BREAK :
;========================================================================
CLR MACRO DEST
LD DEST,#0
ENDM
;========================================================================
; MACRO NAME :RRC
; FUNCTION :RORATE RIGHT WITH c
; BREAK :
;========================================================================
RRC MACRO R
RORC R,1
ENDM
;========================================================================
; MACRO NAME :RLC
; FUNCTION :RORATE LEFT WITH c
; BREAK :
;========================================================================
RLC MACRO R
ROLC R,1
ENDM
;========================================================================
; MACRO NAME :sbc
; FUNCTION :SUB A WITH c
; BREAK :
;========================================================================
SBC MACRO R,DAT
SUBC R,DAT
ENDM
;========================================================================
; MACRO NAME :ADc
; FUNCTION :ADD A AND REG WITH c
; BREAK :
;========================================================================
ADC MACRO R,DAT
ADDC R,DAT
ENDM
;========================================================================
; MACRO NAME :RCF
; FUNCTION :CLEAR cY
; BREAK :
;========================================================================
RCF MACRO
CLR1 CY
ENDM
;========================================================================
; MACRO NAME :RCF
; FUNCTION :SET CY
; BREAK :
;========================================================================
SCF MACRO
SET1 CY
ENDM
;========================================================================
; MACRO NAME :STA
; FUNCTION :MOV A TO RAM
; BREAK :
;========================================================================
STA MACRO DEST
MOV DEST,A
ENDM
;========================================================================
; MACRO NAME :LDA
; FUNCTION :MOV A FROM RAM
; BREAK :
;========================================================================
LDA MACRO DEST
MOV A,DEST
ENDM
;========================================================================
; MACRO NAME :STA
; FUNCTION :MOV A TO RAM
; BREAK :
;========================================================================
STX MACRO DEST
MOV DEST,X
ENDM
;========================================================================
; MACRO NAME :LDX
; FUNCTION :MOV A FROM RAM
; BREAK :
;========================================================================
LDX MACRO DEST
MOV X,DEST
ENDM
;========================================================================
; MACRO NAME :LDX
; FUNCTION :MOV DEST FROM SORCE
; BREAK :
;========================================================================
LDM MACRO DEST,SORCE
MOV DEST,SORCE
ENDM
;========================================================================
; MACRO NAME :BNE
; FUNCTION :if z == 0 then goto ADDRESS
; BREAK :
;========================================================================
BNE MACRO ADDRESS
BNZ $ADDRESS
ENDM
;========================================================================
; MACRO NAME :BEQ
; FUNCTION :if z == 1 then goto ADDRESS
; BREAK :Z,CY
;========================================================================
BEQ MACRO ADDRESS
BZ $ADDRESS
ENDM
;========================================================================
; MACRO NAME :BBS
; FUNCTION :if FLAG == 1 then goto ADDRESS
; BREAK :
;========================================================================
BBS MACRO FLAG,ADDRESS
BT FLAG,$ADDRESS
ENDM
;========================================================================
; MACRO NAME :BBC
; FUNCTION :if FLAG == 0 then goto ADDRESS
; BREAK :
;========================================================================
BBC MACRO FLAG,ADDRESS
BF FLAG,$ADDRESS
ENDM
;========================================================================
; MACRO NAME :CMPX
; FUNCTION :COMPARE X,DEST
; BREAK :
;========================================================================
CMPX MACRO DEST
CMP X,DEST
ENDM
;========================================================================
; MACRO NAME :BCC
; FUNCTION :if cy==0 then goto ADDRESS
; BREAK :
;========================================================================
BCC macro address
BNC $address
endm
;========================================================================
; MACRO NAME :BCS
; FUNCTION :if cy==1 then goto ADDRESS
; BREAK :
;========================================================================
BCS macro address
BC $address
endm
;========================================================================
; MACRO NAME :JMP
; FUNCTION :goto ADDRESS
; BREAK :
;========================================================================
JMP MACRO ADDRESS
BR !ADDRESS
ENDM
;========================================================================
; MACRO NAME :BRA
; FUNCTION :goto ADDRESS
; BREAK :
;========================================================================
BRA MACRO ADDRESS
BR $ADDRESS
ENDM
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -