On 12-Feb-02 Mike Blakey wrote: > I am using a 16f876 and have a large lookup table of values, (196 bytes) At > present > this table is in EEDATA. the access to the data is not quite fast enough, I > believe > that it is possible to copy this data into program memory, possible using a > routine > at boot-up. I have looked in Microchips archive, and don't fully understand > how to > do this. Has anyone done this sort of thing before, and could point me in the > right > direction, Thanks. I think you are a little confused Mike. 1) If you put the data into the program EEPROM space, you will have to use the same method to access it as you do when it is in the data EEPROM space. 2) If you were going to copy for data to program space, why not put it in the program space from the start. 3) The normal way to do look up tables is using a list of RETLW instructions and perform a computed jump "ADDWF PCL,F" into the table .... hex2ascii andlw 0xF addwf PCL,F retlw '0' retlw '1' ..... retlw '9' retlw 'A' ..... retlw 'F' There are some issues with this sort of code but they are covered in AN556 "Implementing a Table Read" Hope this helps. Peter -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics