Put the macro in the source code BEFORE the actual usage.
INCLUDE "modedefs.bas"
DEFINE OSC 16
DEFINE LOADER_USED 1
DEFINE HSER_RCSTA 90h
DEFINE HSER_TXSTA 20h
DEFINE HSER_BAUD 4800
DEFINE HSER_CLROERR 1
big_number VAR WORD[2] ; 32-bit variable
ADCON1=6
CMCON=7
goto main
ASM
;---[load a 32-bit constant into a 32-bit variable]-----------------
MOVE?CN macro Cin, Nout
MOVE?CW Cin & 0xFFFF, Nout ; Low Word
MOVE?CW (Cin >> 16), Nout + 2 ; High Word
endm
ENDASM
main:
@ MOVE?CN 1000000, big_number
WHILE (big_number[1] > 0) OR (big_number[0] > 0)
HSEROUT [#big_number[1],#big_number[0]]
big_number[0] = big_number[0] - 1
IF big_number[0] = $ffff THEN big_number[1] = big_number[1] - 1
WEND
pause 5000
goto main
End
[/code]
Bookmarks