
CHAPTER 17 INTERRUPT FUNCTIONS
User’s Manual U18432EJ5V0UD
664
Figure 17-2. Format of Interrupt Request Flag Registers (IF0L, IF0H, IF1L, IF1H, IF2L, IF2H) (2/2)
Address: FFFE2H
After reset: 00H
R/W
Symbol
<7>
<6>
<5>
<4>
<3>
<2>
<1>
<0>
IF1L
TMIF03
TMIF02
TMIF01
TMIF00
IICIF0
SREIF1
SRIF1
CSIIF11
IICIF11
STIF1
CSIIF10
IICIF10
Address: FFFE3H
After reset: 00H
R/W
Symbol
<7>
<6>
<5>
<4>
<3>
<2>
<1>
<0>
IF1H
TMIF04
SREIF2
SRIF2
CSIIF21
IICIF21
STIF2
CSIIF20
IICIF20
KRIF
RTCIIF
RTCIF
ADIF
Address: FFFD0H
After reset: 00H
R/W
Symbol
<7>
<6>
<5>
<4>
<3>
<2>
<1>
<0>
IF2L
PIF10
PIF9
PIF8
PIF7
PIF6
TMIF07
TMIF06
TMIF05
Address: FFFD1H
After reset: 00H
R/W
Symbol
7
6
5
4
3
2
1
<0>
IF2H
0
TMIF13
TMIF12
TMIF11
TMIF10
PIF11
XXIFX
Interrupt request flag
0
No interrupt request signal is generated
1
Interrupt request is generated, interrupt request status
Cautions 1. Be sure to clear bits 5 to 7 of IF2H to 0.
2. When operating a timer, serial interface, or A/D converter after standby release, operate it
once after clearing the interrupt request flag. An interrupt request flag may be set by noise.
3. When manipulating a flag of the interrupt request flag register, use a 1-bit memory
manipulation instruction (CLR1). When describing in C language, use a bit manipulation
instruction such as “IF0L.0 = 0;” or “_asm(“clr1 IF0L, 0”);” because the compiled assembler
must be a 1-bit memory manipulation instruction (CLR1).
If a program is described in C language using an 8-bit memory manipulation instruction
such as “IF0L &= 0xfe;” and compiled, it becomes the assembler of three instructions.
mov a, IF0L
and a, #0FEH
mov IF0L, a
In this case, even if the request flag of another bit of the same interrupt request flag register
(IF0L) is set to 1 at the timing between “mov a, IF0L” and “mov IF0L, a”, the flag is cleared
to 0 at “mov IF0L, a”.
Therefore, care must be exercised when using an 8-bit memory
manipulation instruction in C language.