You wrote: >Say I have two interrupt routines. It's probably better to say that you don't: one of the tricks I use to save a f ew cycles is to do all the interrupt handling "inline", and check all the possible interrupt sources on each interrupt. E.g.: Test INTF, and branch if off Handle external interrupt Test T0IF, and branch if off Handle TMMR0 overflow etc... RETFIE I'd only do CALLs if I had a service routine complicated enough to take up more page 0 space than I could spare, or I had lots of spare CPU time, and wanted to trade some for a small improvement in readability. But the generous use of whitespace in the inline code does almost as well. >On the RETURN at the end of the RTCC routine, control passes to the service >routine. But what if the RB0 flag was checked before the RTCC routine was >called? On RETFIE, would the interrupt service routine be called again >by the uC because a flag was still high?? Yup: some chips reset their "interrupt pending" status if you peek at it, but the PIC requires that you reset it explicitly. "Just checking" really means "just checking" in this case: you have to BCF INTCON,INTF to make it shut up. If you don't clear it, you'll get an unpleasant surprise... Ran