
405
CHAPTER 16 INTERRUPT FUNCTIONS
Figure 16-15. Differences in Level 3 Interrupt Acknowledgment According
to Setting of Interrupt Mode Control Register (IMC)
Notes 1.
Low default priority
2.
High default priority
Remarks 1.
“a” to “f” in the figure are arbitrary names used to differentiate between the interrupt requests and
macro service requests.
High/low default priorities in the figure indicate the relative priority levels of the two interrupt
requests.
2.
Main Routine
EI
EI
Interrupt Request a
(Level 3)
Interrupt
Request b
(Level 3)
a Processing
b Processing
Interrupt Request c
(Level 3)
Interrupt
Request d
(Level 3)
c Processing
d Processing
Interrupt Request e
Note 1
(Level 3)
Interrupt Request f
Note 2
(Level 3)
f Processing
e Processing
IMC
←
80H
EI
Main Routine
IMC
←
00H
EI
Main Routine
EI
EI
The PRSL bit of the IMC is set to 1, and
nesting between level 3 interrupts is
disabled.
Even though interrupts are enabled, interrupt
request b is held pending since it has the
same priority as interrupt request a.
The PRSL bit of the IMC is set to 0, so that a
level 3 interrupt is acknowledged even during
level 3 interrupt processing (nesting is
possible).
Since level 3 interrupt request c is being
processed in the interrupt enabled state and
PRSL = 0, interrupt request d, which is also
level 3, is acknowledged.
As interrupt request 3 and f are both of the
same level, the one with the higher default
priority, f, is acknowledged first.
When the interrupt enabled state is set
during processing of interrupt request f,
pending interrupt request e is acknowledged
since PRSL = 0.
IMC
←
00H
Bit 3 (ISPR3) of the in-service priority register
(ISPR) is cleared by returning from processing d.