English
Language : 

MC68HC08AS20 Datasheet, PDF (130/386 Pages) Freescale Semiconductor, Inc – M68HC08 Microcontrollers
MODULE
INTERRUPT
IAB
IDB
R/W
RTI
RTI
ADDRESS ADDR. + 1
SP – 4
SP – 3
SP – 2
SP – 1
SP
PC
PC + 1
RTI IRRELEVANT
OPCODE
DATA
CCR
A
X
PC – 1
PC – 1
HIGH BYTE LOW BYTE
OPCODE
OPERAND
Figure 9-9. Hardware Interrupt Recovery Timing
9.6.1.1 Hardware Interrupts
A hardware interrupt does not stop the current instruction. Processing of
a hardware interrupt begins after completion of the current instruction.
When the current instruction is complete, the SIM checks all pending
hardware interrupts. If interrupts are not masked (I bit clear in the
condition code register) and if the corresponding interrupt enable bit is
set, the SIM proceeds with interrupt processing; otherwise, the next
instruction is fetched and executed.
If more than one interrupt is pending at the end of an instruction
execution, the highest priority interrupt is serviced first. Figure 9-10
demonstrates what happens when two interrupts are pending. If an
interrupt is pending upon exit from the original interrupt service routine,
the pending interrupt is serviced before the LDA instruction is executed.
The LDA opcode is prefetched by both the INT1 and INT2 RTI
instructions. However, in the case of the INT1 RTI prefetch, this is a
redundant operation.
NOTE:
To maintain compatibility with the M68HC05, M6805, and M146805
Families, the H register is not pushed on the stack during interrupt entry.
If the interrupt service routine modifies the H register or uses the indexed
addressing mode, software should save the H register and then restore
it prior to exiting the routine.
Advance Information
130
MC68HC08AS20 —Rev. 4.1
Freescale Semiconductor