; Blank line loop sleep ; Label and operation incf 6,1 ; Operation with 2 parameters goto loop ; Operation with 1 parameter #define X Y #defin ; incomplete #undefine X number equ 5 label_#v((number + 1) * 5)_suffix equ 0x10 db .34,O'35',O'93',0xAf,0xady,a'a',a'ap,A'\' any macro parm movlw parm endm any 33 ; Shift reg left slf macro reg clrc rlf reg,f endm ; Scale W by “factor”. Result in “reg”, W unchanged. scale 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 spin macro n movlw n addlw 0xff btfss STATUS,Z goto $-2 endm LOOP: BTFSS flag,0x00 GOTO LOOP BTFSS flag,0x00 GOTO $ - 1