the problem is in this macro
Code:
ASM
PrintStr macro x, y, Str
local TheString, OverStr
goto OverStr
TheString
data Str, 0
OverStr
MOVE?CB x, _PosX
MOVE?CB y, _PosY
MOVE?CW TheString, _Addr
L?CALL _StringOut
endm
ENDASM
its not that simple going from code for pic18 to pic16
the word size for core 14 pics ie pic16 is 14bits
the "data" directive attempts to write two 8 bit pieces of data into a 14bit slot ,hence the end falls off
you could change it to use the "da" directive to pack two 7 bit pieces of data into that space [its ok for 7bit ascii]
but then you need to unpack the data when you read it back
Bookmarks