15.4 Interrupt Service Routine Context Saving
Interrupts, by their very nature, can occur at unpredictable times. Therefore, the interrupted code must be able to resume with the same machine state that was present when the interrupt occurred.
To properly handle a return from interrupt, the setup (prologue) code for
an ISR function automatically saves the compiler-managed working and special function
registers on the stack for later restoration at the end of the ISR. You can use the
optional save
parameter of the interrupt
attribute to
specify additional variables and SFRs to be saved and restored.