CHAPTER 17 INTERRUPT FUNCTIONS AND TEST FUNCTION
310
17.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 request 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 request 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 17-3.
For the timing of the acknowledge an interrupt request, refer to Figures 17-13 and 17-14.
Table 17-3. Times from Maskable Interrupt Request Generation to Interrupt Service
Minimum Time
Maximum Time
Note
When xxPR = 0
7 clocks
32 clocks
When xxPR = 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
(where, f
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 are 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 17-12 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.