490
CHAPTER 21 INTERRUPT AND TEST FUNCTIONS
21.4.2 Maskable interrupt request acknowledge operation
A maskable interrupt request becomes acknowledgeable when an interrupt request flag is set to 1 and the interrupt
mask (MK) flag is cleared to 0. A vectored interrupt request is acknowledged in an interrupt enable state (with IE
flag set to 1). However, a low-priority interrupt is not acknowledged during high-priority interrupt service (with ISP
flag reset to 0).
Wait times from maskable interrupt request generation to interrupt servicing are shown in Table 21-3.
For the timing to acknowledge an interrupt request, refer to
Figures 21-14 and 21-15
.
Table 21-3. Times from Maskable Interrupt Request Generation to Interrupt Service
Minimum Time
Maximum Time
Note
When
××
PR = 0
7 clocks
32 clocks
When
××
PR = 1
8 clocks
33 clocks
Note
If an interrupt request is generated just before a divide instruction, the wait time is maximized.
Remark
1 clock : 1
CPU
: CPU clock)
f
CPU
If two or more maskable interrupt requests are generated simultaneously, the request specified for higher priority
with the priority specify flag is acknowledged first. If two or more requests specified for the same priority by the interrupt
priority specify flag, the one with the higher default priority is acknowledged first.
Any reserved interrupt requests are acknowledged when they become acknowledgeable.
Figure 21-13 shows interrupt request acknowledge algorithms.
If a maskable interrupt request is acknowledged, the contents of acknowledged interrupt are saved in the stacks,
program status word (PSW) and program counter (PC), in that order, the IE flag is reset to 0, and the acknowledged
interrupt priority specify flag contents are transferred to the ISP flag. Further, the vector table data determined for
each interrupt request is loaded into PC and branched.
Return from the interrupt is possible with the RETI instruction.