Hi, I am fairly new to PIC's and another newbie to this list. I have a project intended to eventually run on a 16F874. I am currently testing using 16F877 engineering samples (all I could get). I am also using the latest version of MPASM. I have a question regarding context saving (PUSH/POP) during interrupts, in particular the method for saving the W register. The 16F877 has common or mapped ram at the top of banks 0 and 1 (70h-7Fh) but the 16F874 does not so I need to eventually modify my code to run correctly on the 874. Page 8-12 of DS31008A provides a basic example and says that for devices without common ram the user register for saving W (in their case W_TEMP) must be defined across all banks and at the same relative location. Sounds fair enough, but I can't figure out how this is intended to be done since trying to define the label twice, even in different banks, will just result in a "duplicate label" error. I am sure the answer must be simple and I am being blind to the obvious. Anyone help? TIA Dave Binnington