Interrupt Sequence - Renesas M16C/26A Series Hardware Manual

16-bit single-chip microcomputer m16c family / m16c/tiny series
Hide thumbs Also See for M16C/26A Series:
Table of Contents

Advertisement

M
1
6
C
2 /
6
A
G
o r
u
p
(
M
1
6

9.4 Interrupt Sequence

An interrupt sequence (the devicebehavior from the instant an interrupt is accepted to the instant the inter-
rupt routine is executed) is described here.
If an interrupt occurs during execution of an instruction, the processor determines its priority when the
execution of the instruction is completed, and transfers control to the interrupt sequence from the next
cycle. If an interrupt occurs during execution of either the SMOVB, SMOVF, SSTR or RMPA instruction,
the processor temporarily suspends the instruction being executed, and transfers control to the interrupt
sequence.
The CPU behavior during the interrupt sequence is described below. Figure 9.4.1 shows time required for
executing the interrupt sequence.
(1) The CPU gets interrupt information (interrupt number and interrupt request priority level) by reading
the address 00000
requested).
(2) The FLG register immediately before entering the interrupt sequence is saved to the CPU's internal
temporary register
(3) The I, D and U flags in the FLG register become as follows:
The I flag is cleared to "0" (interrupts disabled).
The D flag is cleared to "0" (single-step interrupt disabled).
The U flag is cleared to "0" (ISP selected).
However, the U flag does not change state if an INT instruction for software interrupt Nos. 32 to 63 is
executed.
(4) The CPU's internal temporary register
(5) The PC is saved to the stack.
(6) The interrupt priority level of the accepted interrupt is set in the IPL.
(7) The start address of the relevant interrupt routine set in the interrupt vector is stored in the PC.
After the interrupt sequence is completed, the processor resumes executing instructions from the start
address of the interrupt routine.
NOTE:
1. This register cannot be used by user.
CPU clock
Address bus
Data bus
RD
(2)
WR
(2)
NOTES:
1. The indeterminate state depends on the instruction queue buffer. A read cycle occurs when the
2. RD is the internal signal which is set to "L" when the internal memory is read out and WR is the
Figure 9.4.1. Time Required for Executing Interrupt Sequence
R
e
. v
2
0 .
0
F
e
b
1 .
, 5
2
0
0
7
R
E
J
0
9
B
0
2
0
2
0 -
2
0
0
C
2 /
6
, A
M
1
6
C
2 /
6
, B
M
1
. Then it clears the IR bit for the corresponding interrupt to "0" (interrupt not
16
(1)
.
1
2
3
4
5
Address
Indeterminate
0000
16
Interrupt
Indeterminate
information
Indeterminate
instruction queue buffer is ready to accept instructions.
internal signal which is set to "L" when the internal memory is written.
page 70
f o
3
2
9
6
C
2 /
6
) T
(1)
is saved to the stack.
6
7
8
9
10
(1)
SP-2
SP-4
SP-2
(1)
contents
(1)
11
12
13
14
15
16
vec
vec+2
SP-4
vec
vec+2
contents
contents
contents
9. Interrupt
17
18
PC

Advertisement

Table of Contents
loading

This manual is also suitable for:

M16c/26aM16c/26bM16c/26t

Table of Contents