sc9s08mz16 Freescale Semiconductor, Inc, sc9s08mz16 Datasheet - Page 62

no-image

sc9s08mz16

Manufacturer Part Number
sc9s08mz16
Description
Hcs08 Microcontrollers
Manufacturer
Freescale Semiconductor, Inc
Datasheet
Chapter 5 Resets, Interrupts, and System Configuration
When two or more interrupts are pending when the I bit is cleared, the highest priority source is serviced
first (see
5.5.1
Figure 5-1
(SP) points at the next available byte location on the stack. The current values of CPU registers are stored
on the stack starting with the low-order byte of the program counter (PCL) and ending with the CCR. After
stacking, the SP points at the next available location on the stack which is the address that is one less than
the address where the CCR was saved. The PC value that is stacked is the address of the instruction in the
main program that would have executed next if the interrupt had not occurred.
When an RTI instruction is executed, these values are recovered from the stack in reverse order. As part
of the RTI sequence, the CPU fills the instruction pipeline by reading three bytes of program information,
starting from the PC address recovered from the stack.
The status flag causing the interrupt must be acknowledged (cleared) before returning from the ISR.
Typically, the flag should be cleared at the beginning of the ISR so that if another interrupt is generated by
this same source, it will be registered so it can be serviced after completion of the current ISR.
5.5.2
External interrupts are managed by the IRQ status and control register, IRQSC. When the IRQ function is
enabled, synchronous logic monitors the pin for edge-only or edge-and-level events. When the MCU is in
62
Table
shows the contents and organization of a stack frame. Before the interrupt, the stack pointer
Interrupt Stack Frame
External Interrupt Request (IRQ) Pin
For compatibility with the M68HC08, the H register is not automatically
saved and restored. It is good programming practice to push H onto the stack
at the start of the interrupt service routine (ISR) and restore it immediately
before the RTI that is used to return from the ISR.
5-2).
STACKING
ORDER
UNSTACKING
5
4
3
2
1
ORDER
1
2
3
4
5
* High byte (H) of index register is not automatically stacked.
7
SC9S08MZ16 MCU Data Sheet, Rev. 0 Draft C
INDEX REGISTER (LOW BYTE X)
Figure 5-1. Interrupt Stack Frame
CONDITION CODE REGISTER
PROGRAM COUNTER HIGH
PROGRAM COUNTER LOW
ACCUMULATOR
NOTE
TOWARD HIGHER ADDRESSES
TOWARD LOWER ADDRESSES
*
0
SP AFTER
INTERRUPT STACKING
SP BEFORE
THE INTERRUPT
Freescale Semiconductor

Related parts for sc9s08mz16