; Blank line
sleep ; Label and operation
incf 6,1 ; Operation with 2 parameters
goto loop ; Operation with 1 parameter
#define X Y
#defin ; incomplete
#undefine X
equ 5
#v((number + 1) * 5) equ 0x10
db .34,O'35',O'93',0xAf,0xady,a'a',a'ap,A'\'
macro parm
movlw parm
endm
any 33
; Shift reg left
macro reg
clrc
rlf reg,f
endm
; Scale W by “factor”. Result in “reg”, W unchanged.
macro reg, factor
if (factor == 1)
movwf reg ; 1 X is easy
else
scale reg, (factor / 2) ; W * (factor / 2)
slf reg,f ; double reg
if ((factor & 1) == 1) ; if lo-bit set ..
addwf reg,f ; .. add W to reg
endif
endif
endm
scale tmp,D'10'
movwf tmp
clrc
rlf tmp,f
addwf tmp,f
macro n
movlw n
addlw 0xff
btfss STATUS,Z
goto $-2
endm
: BTFSS flag,0x00
GOTO LOOP
BTFSS flag,0x00
GOTO $ - 1