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 + -
显示快捷键?