> Fact1: Don't have to disable/enable gie. (I got that as old advice some > time back, and have just continued with it) ok > Fact2: Setting a page in PCLATH doesn't immediately take the program > counter to the page. That only happens when a program jump (call, goto, > etc)is initiated. ok. Just remember that any operation with the PCL as target will make the PC to be loaded with the PCL and PCLATH contents. The portion of PCLATH used vary with any kind of operation. > Fact3: There's no harm in saving everything, in case there are changes > in the program later on which may or may not require it. sure. Only uses more RAM than necessary ... > Fact4: Restore W last, as movf's before the retfie change it too. NO. Remember that the MOVF instruction will change the Z flag. If the MOVF instruction is the last one before the RETFIE, chances are that the Z flag will be diferent from the calling of the ISR to it's return. Use the SWAPF instruction instead. It doesn't affect the Z flag. > Fact5: My example showed the ISR directly between the saves and > restores. If there was a goto, or call, which was outside the ISR, and > involved page changes, then PCLATH would need to be saved. ok Just remember that a call from an ISR is not a good option ... Regards, Fabio -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.