CHAPTER 7 INTERRUPT AND TEST FUNCTIONS
203
Users Manual U10676EJ3V0UM
(2) If IRQxxx is set while instruction other than (1) is executed
(a) If IRQxxx is set at the last machine cycle of the instruction under execution
In this case, the one instruction following the instruction under execution is executed, three machine cycles
of interrupt servicing is performed, and then the interrupt routine is executed.
AB C D
Instruction other than
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
Caution If the next instruction is an interrupt control instruction, 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. If the DI instruction is executed after
IRQxxx has been set, the interrupt request corresponding to the set IRQxxx is held pending.
(b) If IRQxxx is set before the last machine cycle of the instruction under execution
In this case, three machine cycles of servicing is performed after execution of the current instruction, and
then the interrupt routine is executed.
C D
Instruction other than
interrupt control
instruction
A
A: Sets IRQxxx
B: Interrupt servicing (3 machine cycles)
C: Executes interrupt routine