tryed changeing to @ db command using the font data bytes ,
@ db 0x00 , 0x3F, 0x10, 0xFF..............

this stores in flash as address - 3F00 , FF10 is NOT stored at same sequance address as font DB command as it is entered
wrong


it is stored exactly in that order low byte first then high byte , you are feeding in the data high byte first

readcode will retrieve it in the same order low byte then high byte





@ dw 0x003F , 0x10FF

readcode address 0 , byte = $3F - wrong - it recovers address +1 or low byte
readcode address +1 , byte = $00 - wrong - it recovers address -1 or high byte
wrong


@ dw places the data the same way low byte then high byte


readcode will retrieve it in the same order low byte then high byte
Code:
 
 pause 2000
 
 Serout2 PORTb.7,84,["ready",13,10] 
 addr var word
 inbuff  var byte[30]
 buff var byte[30]       $4f0
 lb var byte
 hb var byte
 lc var byte
 lp var word
 Clear

 



 goto StartLoop ' Required


 String2:
 @ db 0x3f,0,0,0xfc,0xfc,0x3f,0x66,0x55,0,0
 
 
asm
 org 0x5170
  dw      0x003F,0xFC00,0x3FFC,0x5566,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000;,0x00  
 org 0x0200  
ENDASM 

asm 
   
GetAddress macro Label, Wout
    CHK?RP Wout
    movlw low Label          ; get low byte
    movwf Wout
    movlw High Label         ; get high byte
    movwf Wout + 1
    endm
  
   
   
   
   
   
 ENDASM
StartLoop:
Serout2 PORTb.7,84, [13,10,"db data " ]        
@ GetAddress _String2 ,_addr  
for lc=0 to 3
Serout2 PORTb.7,84, [13,10,"address ",hex4  addr ]  
readcode addr ,lb

addr=addr+1
Serout2 PORTb.7,84, [" lb ",hex2 lb," address ",hex4  addr ]
readcode addr ,hb 
Serout2 PORTb.7,84, [" hb ",hex2 hb ]


addr=addr+1
next
 
 
 
 
 
Serout2 PORTb.7,84, [13,10,"dw data as byte " ] 

addr =$5170 
 
for lc=0 to 3
Serout2 PORTb.7,84, [13,10,"address ",hex4  addr ]  
readcode addr ,lb

addr=addr+1
Serout2 PORTb.7,84, [" lb ",hex2 lb," address ",hex4  addr ]
readcode addr ,hb 
Serout2 PORTb.7,84, [" hb ",hex2 hb ]


addr=addr+1
next
 

Serout2 PORTb.7,84, [13,10,"dw data as word " ]  

  
;@ GetAddress _String3 ,_addr 
addr =$5170 
for lc=0 to 3  
Serout2 PORTb.7,84, [13,10,"address ",hex4  addr ]   
readcode addr ,lp
addr=addr+2 
Serout2 PORTb.7,84, [" lp ",hex4 lp]
next
  

addr =$5177   
readcode addr ,lb 
Serout2 PORTb.7,84, [13,10,"odd address ",hex4  addr ] 
Serout2 PORTb.7,84, [" high ",hex2 lb ] 
addr =$5176   
readcode addr ,lb 
Serout2 PORTb.7,84, [13,10,"even address ",hex4  addr ] 
Serout2 PORTb.7,84, [" low ",hex2 lb ] 

 
 goto StartLoop ' Repeat
end
output
db data
address 0184 lb 3F address 0185 hb 00
address 0186 lb 00 address 0187 hb FC
address 0188 lb FC address 0189 hb 3F
address 018A lb 66 address 018B hb 55
dw data as byte
address 5170 lb 3F address 5171 hb 00
address 5172 lb 00 address 5173 hb FC
address 5174 lb FC address 5175 hb 3F
address 5176 lb 66 address 5177 hb 55
dw data as word
address 5170 lp 003F
address 5172 lp FC00
address 5174 lp 3FFC
address 5176 lp 5566
odd address 5177 high 55
even address 5176 low 66