📄 macro.h
字号:
/*=========================================
ProjectName: Time Card
McuType: EM78569
FileName: Macro.h
===========================================*/
BANK0 MACRO
BC RSR,RB0
BC RSR,RB1
ENDM
;-------------------
BANK00 MACRO
BC RSR,RB0
ENDM
;-------------------
BANK1 MACRO
BS RSR,RB0
BC RSR,RB1
ENDM
;-------------------
BANK11 MACRO
BS RSR,RB0
ENDM
;-------------------
BANK2 MACRO
BC RSR,RB0
BS RSR,RB1
ENDM
;-------------------
BANK3 MACRO
BS RSR,RB0
BS RSR,RB1
ENDM
;-------------------
RPAGE00 MACRO
BC STATUS,RPAGE0
ENDM
;-------------------
RPAGE0 MACRO
BC STATUS,RPAGE0
BC STATUS,RPAGE1
ENDM
;-------------------
RPAGE11 MACRO
BS STATUS,RPAGE0
ENDM
;-------------------
RPAGE1 MACRO
BS STATUS,RPAGE0
BC STATUS,RPAGE1
ENDM
;-------------------
RPAGE2 MACRO
BC STATUS,RPAGE0
BS STATUS,RPAGE1
ENDM
;-------------------
RPAGE3 MACRO
BS STATUS,RPAGE0
BS STATUS,RPAGE1
ENDM
;-------------------
IOCPAGE0 MACRO
BC STATUS,IOCPAGE
ENDM
;-------------------
IOCPAGE1 MACRO
BS STATUS,IOCPAGE
ENDM
;-------------------
Ram2560 MACRO
BC AD89,RAM_B0
ENDM
;-------------------
Ram2561 MACRO
BS AD89,RAM_B0
ENDM
;-------------------
MOVFF MACRO F1,F2
MOV A,F1
MOV F2,A
ENDM
;-------------------
MOVLF MACRO L,F1
MOV A,L
MOV F1,A
ENDM
;-------------------
OpenBuzzer MACRO
RPAGE3
BS PWMCON,@6
RPAGE0
ENDM
;-------------------
CloseBuzzer MACRO
RPAGE3
BC PWMCON,@6
RPAGE0
BC PORTC,@1
ENDM
;-------------------
ROMPAGE MACRO #NUM
IF NUM < 0x00400
PAGE @0x00
ELSEIF NUM < 0x00800
PAGE @0x01
ELSEIF NUM < 0x00C00
PAGE @0x02
ELSEIF NUM < 0x01000
PAGE @0x03
ELSEIF NUM < 0x01400
PAGE @0x04
ELSEIF NUM < 0x01800
PAGE @0x05
ELSEIF NUM < 0x01C00
PAGE @0x06
ELSEIF NUM < 0x02000
PAGE @0x07
ELSEIF NUM < 0x02400
PAGE @0x08
ELSEIF NUM < 0x02800
PAGE @0x09
ELSE
MESSAGE "WARRING: DON'T HAVE SPECIFY PAGE!"
ENDIF
ENDM
;-------------------
FCALL MACRO ADDRESS,NUM
ROMPAGE #ADDRESS
IF ADDRESS < 0X400
CALL ADDRESS
ELSEIF ADDRESS < 0X800
CALL ADDRESS - 0X400
ELSEIF ADDRESS < 0XC00
CALL ADDRESS - 0X800
ELSEIF ADDRESS < 0X1000
CALL ADDRESS - 0XC00
ELSEIF ADDRESS < 0X1400
CALL ADDRESS - 0X1000
ELSEIF ADDRESS < 0X1800
CALL ADDRESS - 0X1400
ELSEIF ADDRESS < 0X1C00
CALL ADDRESS - 0X1800
ELSEIF ADDRESS < 0X2000
CALL ADDRESS - 0X1C00
ELSEIF ADDRESS < 0X2400
CALL ADDRESS - 0X2000
ELSEIF ADDRESS < 0X2800
CALL ADDRESS - 0X2400
ELSEIF ADDRESS < 0X2C00
CALL ADDRESS - 0X2800
ELSEIF ADDRESS < 0X3000
CALL ADDRESS - 0X2c00
ELSE
MESSAGE "OUT OF PROGRAM MEMORY !"
ENDIF
PAGE @NUM
ENDM
;-------------------
FJMP MACRO ADDRESS
ROMPAGE #ADDRESS
IF ADDRESS < 0X400
JMP ADDRESS
ELSEIF ADDRESS < 0X800
JMP ADDRESS - 0X400
ELSEIF ADDRESS < 0XC00
JMP ADDRESS - 0X800
ELSEIF ADDRESS < 0X1000
JMP ADDRESS - 0XC00
ELSEIF ADDRESS < 0X1400
JMP ADDRESS - 0X1000
ELSEIF ADDRESS < 0X1800
JMP ADDRESS - 0X1400
ELSEIF ADDRESS < 0X1C00
JMP ADDRESS - 0X1800
ELSEIF ADDRESS < 0X2000
JMP ADDRESS - 0X1C00
ELSEIF ADDRESS < 0X2400
JMP ADDRESS - 0X2000
ELSEIF ADDRESS < 0X2800
JMP ADDRESS - 0X2400
ELSEIF ADDRESS < 0X2C00
JMP ADDRESS - 0X2800
ELSEIF ADDRESS < 0X3000
JMP ADDRESS - 0X2C00
ELSE
MESSAGE "OUT OF PROGRAM MEMORY !"
ENDIF
ENDM
;-------------------
;-------------------
;-------------------
;-------------------
;-------------------
;-------------------
;-------------------
;-------------------
;-------------------
;-------------------
;-------------------
;-------------------
;-------------------
;============================================
;Peter.yu Marked in DongGuan City 2004-4-1
;============================================
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -