CHAPTER 7 INTERRUPT AND TEST FUNCTIONS
202
User’s Manual U10676EJ3V0UM
7.7 Machine Cycles Until Interrupt Servicing
The number of machine cycles required from when an interrupt request flag (IRQxxx) has been set until the interrupt
routine is executed is as follows.
(1) If IRQxxx is set while interrupt control instruction is being executed
If IRQxxx is set while an interrupt control instruction is being executed, the next instruction is executed. Then
three machine cycles of interrupt servicing is performed and the interrupt routine is executed.
A
B
C
D
Interrupt control instruction
A:
Sets IRQxxx
B:
Executes next instruction (1 to 3 machine cycles; differs depending on instruction)
C:
Interrupt servicing (3 machine cycles)
D:
Executes interrupt routine
Cautions1. If two or more interrupt control instructions are successively executed, the instruction
following the interrupt control instruction executed last is executed, three machine cycles of
interrupt servicing is performed, and then the interrupt routine is executed.
2. If the DI instruction is executed when or after IRQxxx is set (A in the above figure), the interrupt
request corresponding to IRQxxx that has been set is held pending until the EI instruction is
executed next time.
Remarks
1.
An interrupt control instruction manipulates the hardware units related to interrupts (address FB
×
H
of the data memory). The EI and DI instructions are interrupt control instructions.
2.
The three machine cycles of interrupt servicing is the time required to manipulate the stack that is
manipulated when an interrupt is acknowledged.