CHAPTER 11 INTERRUPT FUNCTIONS
User’s Manual U12978EJ3V0UD
173
11.4.2 Maskable interrupt acknowledgment operation
A maskable interrupt can be acknowledged when the interrupt request flag is set to 1 and the corresponding
interrupt mask flag is cleared to 0. A vectored interrupt is acknowledged in the interrupt enabled status (when the IE
flag is set to 1).
The time required to start the interrupt servicing after a maskable interrupt request has been generated is as
follows.
Table 11-3. Time from Generation of Maskable Interrupt Request to Servicing
Minimum Time
Maximum Time
Note
8 clocks
19 clocks
Note
The wait time is maximum when an interrupt request is generated immediately before a BT or BF
instruction.
Remark
1 clock: (f
CPU
: CPU clock)
When two or more maskable interrupt requests are generated at the same time, they are acknowledged starting
from the one assigned the highest priority.
A pending interrupt is acknowledged when the status in which it can be acknowledged is set.
Figure 11-11 shows the algorithm of acknowledging interrupts.
When a maskable interrupt request is acknowledged, the PSW and PC are saved to the stack in that order, the IE
flag is reset to 0, the data in the vector table determined for each interrupt request is loaded to the PC, and
execution branches.
To return from interrupt servicing, use the RETI instruction.
Figure 11-11. Interrupt Acknowledgment Program Algorithm
Start
xxIF = 1 ?
xxMK = 0 ?
IE = 1 ?
Vectored interrupt
servicing
Yes (interrupt request generated)
Yes
Yes
No
No
No
Interrupt request pending
Interrupt request pending
1
f
CPU