I liked the cblock VAR:0 trick to get a label, so I tried it. It doesn't work -- in mplab 6.40 that allocates a byte. I used it to mark the end of a block of RAM that gets copied to/from EEPROM and it blew up, so I checked and found it. Also beware that DB and DE (at least when assembling to 18F parts) pad to two-byte boundaries, BOTH in program memory (where it makes some sense) but ALSO in EEPROM (which I guess is just treated as "program memory" at address 0xF00000). I only noticed because the WARP 13 driver displayed the EEPROM data. -- Ben Jackson http://www.ben.com/ -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu