macros.inc
来自「usb控制器对I/0操作的简单例子」· INC 代码 · 共 83 行
INC
83 行
SETBIT MACRO ad,dat
mov dptr,#ad
movx a,@dptr
setb acc.dat
movx @dptr,a
ENDM
;
CLRBIT MACRO ad,dat
mov dptr,#ad
movx a,@dptr
clr acc.dat
movx @dptr,a
ENDM
;
CLR_USB_IRQ MACRO
mov a,EXIF
clr acc.4
mov EXIF,a
ENDM
; class macros
;
JBH MACRO ad,b,des ; jump on bit high
mov dptr,#ad
movx a,@dptr
jb acc.b,des
ENDM
JBL MACRO ad,b,des ; jump on bit low
mov dptr,#ad
movx a,@dptr
jnb acc.b,des
ENDM
;
LDREG MACRO ad,val ; Set register with value
mov a,val
mov dptr,#ad
movx @dptr,a
ENDM
;
PUSHALL MACRO
push dpl
push dph
push dpl1
push dph1
push acc
ENDM
;
POPALL MACRO
pop acc
pop dph1
pop dpl1
pop dph
pop dpl
ENDM
;
SCOPE_PULSE MACRO addr
mov dptr,#USBBAV ; breakpoint & autovector register
movx a,@dptr
orl a,#00000110b ; enable pulse mode and breakpoint
movx @dptr,a
mov dptr,#BPADDRH
mov a,#HIGH(addr)
movx @dptr,a
mov dptr,#BPADDRL
mov a,#LOW(addr)
movx @dptr,a
ENDM
;
SCOPE_LEVEL MACRO addr
mov dptr,#USBBAV ; breakpoint & autovector register
movx a,@dptr
orl a,#00000010b ; enable NOT pulse mode and breakpoint
movx @dptr,a
mov dptr,#BPADDRH
mov a,#HIGH(addr)
movx @dptr,a
mov dptr,#BPADDRL
mov a,#LOW(addr)
movx @dptr,a
ENDM
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?