> I believe all you need to do is make sure that if SaveContext writes the > saved value of w in bank 1, it doesn't write over anything or have > anything written over it in the isr. The point is that you don't know what bank it is being written to since STATUS is unknown at the time. That's why the same byte in all banks must be reserved, or at least all banks that STATUS could ever be set to when an interrupt can occur. > cblock 0x20 ; reserve ram for save and restore context > isrW ; Hold registers during ISR. could be bank 0 (0x20) or 1 (0xa0). > DO NOT USE 0xA0 for anything else! At least it's documented, but I still consider this dangerous because nothing actually enforces that A0h is not used. ***************************************************************** Embed Inc, embedded system specialists in Littleton Massachusetts (978) 742-9014, http://www.embedinc.com -- 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