CHAPTER 5 INTERRUPT/EXCEPTION PROCESSING FUNCTION
User’s Manual U13850EJ4V0UM
151
5.6 Priority Control
5.6.1 Priorities of interrupts and exceptions
Table 5-3. Priorities of Interrupts and Exceptions
RESET
NMI
INT
TRAP
ILGOP
RESET
*
*
*
*
NMI
×
←
←
←
INT
×
↑
←
←
TRAP
×
↑
↑
←
ILGOP
×
↑
↑
↑
RESET: Reset
NMI:
Non-maskable interrupt
INT:
Maskable interrupt
TRAP:
Software exception
ILGOP: Illegal op code exception
*:
Item on the left ignores the item above.
×
:
Item on the left is ignored by the item above.
↑
:
Item above is higher than the item on the left in priority.
←
:
Item on the left is higher than the item above in priority.
5.6.2 Multiple interrupt servicing
Multiple interrupt servicing is a function that allows the nesting of interrupts. If a higher priority interrupt is
generated and acknowledged, it will be allowed to stop a current interrupt service routine in progress. Execution of
the original routine will resume once the higher priority interrupt routine is completed.
If an interrupt with a lower or equal priority is generated and a service routine is currently in progress, the later
interrupt will be kept pending.
Multiple interrupt servicing control is performed when it is in the state of interrupt acknowledgement (ID = 0). Even
in an interrupt servicing routine, this control must be set in the state of acknowledgement (ID = 0). If a maskable
interrupt acknowledgement or exception is generated during a service program of maskable interrupt or exception,
EIPC and EIPSW must be saved.
The following example shows the procedure of interrupt nesting.