📄 pbp_interput2.mac
字号:
NOLIST
; PicBasic Pro Compiler 2.46, (c) 1998, 2005 microEngineering Labs, Inc. All Rights Reserved.
LABEL?L macro Label
RST?RP
ifdef PM_USED
LALL
Label
XALL
else
Label
endif
endm
ADD?WCW macro Win, Cin, Wout
if (Wout == Win)
if (Cin == 1)
CHK?RP Wout
incf Wout, F
btfsc STATUS, Z
incf Wout + 1, F
else
movlw low (Cin)
CHK?RP Wout
addwf Wout, F
if (((Cin) >> 8) == 0)
btfsc STATUS, C
incf Wout + 1, F
else
movlw (Cin) >> 8
btfsc STATUS, C
addlw 1
addwf Wout + 1, F
endif
endif
else
movlw low (Cin)
CHK?RP Win
addwf Win, W
MOVE?AB Wout
if (((Cin) >> 8) == 0)
MOVE?BA Win + 1
btfsc STATUS, C
addlw 1
MOVE?AB Wout + 1
else
movlw (Cin) >> 8
btfsc STATUS, C
addlw 1
CHK?RP Win
addwf Win + 1, W
MOVE?AB Wout + 1
endif
endif
endm
CMPNE?WCL macro Win, Cin, Label
MOVE?WW Win, R0
MOVE?CB (Cin) >> 8, R1 + 1
MOVE?CA low (Cin)
L?CALL CMPNE
BIT?GOTO 0, STATUS, Z, Label
endm
CMPNE_USED = 1
DISABLE? macro
endm
ENABLE? macro
endm
END? macro
local loop
loop sleep
L?GOTO loop
endm
GOTO?L macro Label
L?GOTO Label
endm
ICALL?L macro Label
L?CALL Label
endm
ONINT?LL macro Inthand, Intchk
local label
bsf INTCON, GIE
L?GOTO label
Intchk btfsc INTCON, GIE
return
L?GOTO Inthand
label
endm
ONINT_USED = 1
PAUSE?C macro Cin
if (high (Cin) == 0)
MOVE?CA Cin
L?CALL PAUSE
else
MOVE?CB high (Cin), R1 + 1
MOVE?CA low (Cin)
L?CALL PAUSEL
endif
endm
PAUSE_USED = 1
RESUME? macro
RST?RP
retfie
endm
TOGGLE?T macro Regin, Bitin
BIT?FLIP Regin, Bitin
MOVE?CT 0, ((Regin) + 80h), Bitin
endm
LIST
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -