Hi Myke >PCLATH is NOT a readable Register (it's just writeable). So instead of >reading it and saving it, you should save the value you are programming in, >into "temp_lath" when PCLATH is being changed. Would this always work - say I change pclath and store it in temp_lath at the same time, then I cross a page boundary in the code before the interrupt occurs - wouldn't the restored pclath cause a jump backwards after the interrupt's finished?? Jim