add this to your code
ARRAYWRITE inbuff,3,,["123"]
and then look at the lst file generated
see how arraywrite works
the array address goes in like this01487 LIST
000004 C00C FFE9 01488 ARRAYWRITE movff R5, FSR0L ; Put the array pointer into FSR0
000008 C00D FFEA 01489 movff R5 + 1, FSR0H
00000C 6EEE 01490 movwf POSTINC0 ; Put the char into the array and bump up the address
00000E CFE9 F00C 01491 movff FSR0L, R5 ; Save new pointer
000012 CFEA F00D 01492 movff FSR0H, R5 + 1
C:\PBP3\EXAMPLES\MARCICK.PBP 00074 ARRAYWRITE inbuff,3,,["123"]
00192 ARRAYWRITENAME?B _inbuff
M MOVE?CW _inbuff, R5
M ifdef USE_LINKER
M CHK?RP R5
M movlw low (_inbuff)
M movwf R5
M movlw high (_inbuff)
M movwf (R5) + 1
you need to emulate this using your own vars don't use r5 of course
interrupts will need to be disabled too
ps the forum totally destroys white space you need to look at your xxx.lst file to make it out properly
Bookmarks