SIC63616-(Rev. 1.0) NO. P168
3240-0412
4.15.3 Interrupt vector
When an interrupt request is input to the CPU, the CPU begins interrupt processing. After the program
being executed is terminated, the interrupt processing is executed in the following order.
1 The content of the flag register is evacuated, then the I flag is reset.
2 The address data (value of program counter) of the program to be executed next is saved in the stack
area (RAM).
3 The interrupt request causes the value of the interrupt vector (0100H–010FH) to be set in the program
counter.
4 The program at the specified address is executed (execution of interrupt handler routine by software).
Table 4.15.3.1 shows the correspondence of interrupt requests and interrupt vectors.
Table 4.15.3.1 Interrupt request and interrupt vectors
Interrupt vector
0100H
0101H
0102H
0103H
0104H
0105H
0106H
0107H
0108H
0109H
010AH
010BH
010CH
010DH
010EH
010FH
Interrupt factor
Watchdog timer
R/f converter
Programmable timer 0
Programmable timer 1
Programmable timer 2
Programmable timer 3
Programmable timer 4
Programmable timer 5
Programmable timer 6
Programmable timer 7
Serial interface
Key input interrupt <P1>
Key input interrupt <P4>
Stopwatch timer
Clock timer (128 Hz, 64 Hz, 32 Hz, 16 Hz)
Clock timer (8 Hz, 4 Hz, 2 Hz, 1 Hz)
Priority
High
Low
The four low-order bits of the program counter are indirectly addressed through the interrupt request.
Note: The interrupt handler routine must be located within the range from "Interrupt vector address (100H
–10FH)" -7FH to +80H. If it is difficult, make a relay point within that range as the destination of the
vector jump and branch the program to the interrupt handler from there.
Example:
;******************************************************************************
;** interrupt vector area **
;******************************************************************************
.org
0x0100
JR
INT_DUMMY
;WATCH DOG TIMER INTERRUPT VECTOR(0x100)
JR
INT_RFC
;RFC INTERRUPT VECTOR(0x101)
JR
INT_DUMMY
;PTIMER0 INTERRUPT VECTOR(0x102)
JR
INT_DUMMY
;PTIMER1 INTERRUPT VECTOR(0x103)
JR
INT_DUMMY
;PTIMER2 INTERRUPT VECTOR(0x104)
JR
INT_DUMMY
;PTIMER3 INTERRUPT VECTOR(0x105)
JR
INT_DUMMY
;PTIMER4 INTERRUPT VECTOR(0x106)
JR
INT_DUMMY
;PTIMER5 INTERRUPT VECTOR(0x107)
JR
INT_DUMMY
;PTIMER6 INTERRUPT VECTOR(0x108)
JR
INT_DUMMY
;PTIMER7 INTERRUPT VECTOR(0x109)
JR
INT_DUMMY
;SIO INTERRUPT VECTOR(0x10A)
JR
INT_DUMMY
;P1x PORT INTERRUPT VECTOR(0x10B)
JR
INT_DUMMY
;P4x PORT INTERRUPT VECTOR(0x10C)
JR
INT_DUMMY
;STOPWATCH INTERRUPT VECTOR(0x10D)
JR
INT_DUMMY
;CLOCK TIMER1 INTERRUPT VECTOR(0x10E)
JR
INT_DUMMY
;CLOCK TIMER2 INTERRUPT VECTOR(0x10F)
Содержание S1C63616
Страница 1: ...S1C63616 Technical Manual Rev 1 0 ...