English
Language : 

MC68HC908GZ8 Datasheet, PDF (53/344 Pages) Motorola, Inc – Microcontrollers
Resets and Interrupts
Interrupts
4.3 Interrupts
4.3.1 Effects
An interrupt temporarily changes the sequence of program execution to respond to
a particular event. An interrupt does not stop the operation of the instruction being
executed, but begins when the current instruction completes its operation.
An interrupt:
• Saves the CPU registers on the stack. At the end of the interrupt, the RTI
instruction recovers the CPU registers from the stack so that normal
processing can resume.
• Sets the interrupt mask (I bit) to prevent additional interrupts. Once an
interrupt is latched, no other interrupt can take precedence, regardless of its
priority.
• Loads the program counter with a user-defined vector address
5
4
STACKING 3
ORDER 2
1
•
•
•
CONDITION CODE REGISTER
ACCUMULATOR
INDEX REGISTER (LOW BYTE)(1)
PROGRAM COUNTER (HIGH BYTE)
PROGRAM COUNTER (LOW BYTE)
•
•
•
1
2
3 UNSTACKING
4
ORDER
5
$00FF DEFAULT ADDRESS ON RESET
1. High byte of index register is not stacked.
Figure 4-3. Interrupt Stacking Order
After every instruction, the CPU checks all pending interrupts if the I bit is not set.
If more than one interrupt is pending when an instruction is done, the highest
priority interrupt is serviced first. In the example shown in Figure 4-4, if an interrupt
is pending upon exit from the interrupt service routine, the pending interrupt is
serviced before the LDA instruction is executed.
MC68HC908GZ8
Freescale Semiconductor
Resets and Interrupts
Data Sheet
53