I am trying to understand what would happen to the program counter under the following conditions when an interupt occurs. As I understand, when an interupt occurs, the current instruction is executed then the Address of the next instruction is placed onto the stack so that normal program flow can continue after the IRQ has been serviced. What if the current instruction is 'ADDWF PCL', as in a jump table. The program counter word would now become Hi Byte = Pclath<4:0> Low Byte = PCL + W. Does the interupt preserve this as it's return address, or does it point to the next address as it normally would. Regards Tony Just when I thought I knew it all, I learned that I didn't.