>What intrigues me is: (simplified) >InterruptRoutine > Disable gie This is not needed at all. Note that the PIC automagically disables any further interrupts by clearing the GIE bit before it vectors to ORG 0x004. The RETFIE instruction sets the bit. >Heres's my problem with this at ??????????: > Won't restoring pclath take us back to page 1, away from the next >line >(restore status, enable gie, retfie)? It "will", but only if you are using instructions that require the PCLATH to be updated, such as GOTO, CALL, or otherwise by adjusting the PCL directly. I'm not sure if the RETURN or RETFIE instruction adjusts PCLATH, but I'm inclined to say that it doesn't, so that could cause problems too. Actually, I don't think any instruction in the 12 or 14-bit core chips actually adjust the PCLATH, so any instruction that redefines the PCL register will cause problems unless PCLATH is properly assigned. The reason that it works in your ISR is that you aren't using any of these instructions after you restore the PCLATH. I'm sure others will have more detailed explanations, but this is just my short interpretation. --Andrew _________________________________________________________________ Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp. -- 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