I'm suffering from stack overflows on a 17c42 (I put a check of STKAVL in my RTCC Timer Interrupt handler and I output an error code on a 7 segment display when detected). BUT, I've done a thorough analysis of my software and there is no way I should be overflowing the 16 word stack. I'm using three timer interrupts (RTCC, Timer 1/2, and Timer 3) plus the Port B interrupt on change (although no port B pins are changing when this occurs), and I'm not enabling interrupts in any of my interrupt handlers (GLINTD remains set until the RETFIE at the end of my handlers) As I understand the spec sheet, an interrupt and a call each use one word of the 16 word stack. There isn't anything else that affects the stack is there? Also a "pending" interrupt (one asserted while interrupts are disabled) does not use any stack - the corresponding interrupt request bit is merely set - correct? I've tallied the max stack usage of all my routines and I should be using at most 10 slots. The other thing that's puzzling is that the time between reset and when the overflow occurs varies. Given the nature of my software (a timer application), its execution should be very deterministic. I would expect this stack overflow to be repeatable and to see a pattern in its timing. I think I'm missing something. Any thoughts?