I have done some testing:
To write data to the internal EEPROM using the DATA or EEPROM statement
there appears to be some kind of workaround:
DATA @$20,$A1,0,$A2,0,$A3,0,$A4,0,$A5,0,$A6,0,$A7,0
or
EEPROM $20,[$A1,0,$A2,0,$A3,0,$A4,0,$A5,0,$A6,0,$A7,0]
will result in the following EEPROM content starting at location $10
$0010 - A1 A2 A3 A4 A5 A6 A7
So what you need to do is:
multiply the adress you want to write to by 2
add "dummy-bytes" for the odd locations
DATA @$20,$A1,0,$A2,0,$A3,0,$A4,0,$A5,0,$A6,0,$A7,0
marked red EEPROM location to write to multiplied by 2
marked green actual data to be written to EEPROM
marked blue "dummies" for odd locations
Step by step I'm getting closer to the migration from 16F to 18F
btw:
READ just works fine, so there is no modification of code required for the READ statements.
I hope this saves the forum members some time when trying to migrate from 16Fxxx to 18Fxxx
rgds
Bookmarks