> "Tables, for instance, have to be placed in the first 128 (or 256?) > words of your current page..." > > Really? I didn't know this! I thought I can place the table anywhere in > the memory. Good to know Be careful. That statement in general is not true. On the 12 series parts, you can only call into the first 256 locations of each page. On other parts there is no restriction. Another source of confusion comes from the fact that some people think a "table" means code like: addwf pcl retlw retlw . . retlw This type of table is also not restricted to being in the first 256 locations of the current page. It IS however restricted to being all on the same block of 256 locations. That's because the table index code (ADDWF PCL) only adjusts the low byte of the address. Any overflow from that ADDWF is lost, causing the table to wrap back to the start of that block of 256. You can have a RETLW table anywhere and of any size if your code adjusts PCLATH properly. On the F series parts you can read the program memory directly, which allows for totaly different table structures. These kind of tables take a few more cycles to access and will use the EECON hardware, but store 14 bits of data per program memory location instead of just 8. ******************************************************************** Olin Lathrop, embedded systems consultant in Littleton Massachusetts (978) 742-9014, olin@embedinc.com, http://www.embedinc.com -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.