CHAPTER 17 INTERRUPT/EXCEPTION PROCESSING FUNCTION
User’s Manual U16896EJ2V0UD
566
17.7 Multiple Interrupt Servicing Control
Multiple interrupt servicing control is a function that stops an interrupt service routine currently in progress if a
higher priority interrupt request signal is generated, and processes the acknowledgment operation of the higher
priority interrupt request signal.
If an interrupt request signal with a lower or equal priority is generated and a service routine is currently in progress,
the later interrupt request signal will be held pending.
Multiple interrupt servicing control is performed when interrupts are enabled (PSW.ID bit = 0). Even in an interrupt
servicing routine, multiple interrupt control must be performed while interrupts are enabled (ID bit = 0).
If a maskable interrupt or software exception is generated in a maskable interrupt or software exception service
program, EIPC and EIPSW must be saved.
The following example illustrates the procedure.
(1) To acknowledge maskable interrupt request signals in service program
Service program for maskable interrupt or exception
…
…
•
EIPC saved to memory or register
•
EIPSW saved to memory or register
•
EI instruction (enables interrupt acknowledgment)
…
…
←
Acknowledges maskable interrupt
…
…
•
DI instruction (disables interrupt acknowledgment)
•
Saved value restored to EIPSW
•
Saved value restored to EIPC
•
RETI instruction