SN8P1700
8-bit micro-controller build-in 12-bit ADC
ꢃExample: How does users check the interrupt request in multi-interrupt situation?
ORG
8
; Interrupt vector
B0XCH
PUSH
A, ACCBUF
; B0XCH doesn’ t change C, Z flag
; Push
INTP00CHK:
INTP01CHK:
INTP02CHK:
INTT0CHK:
INTTC0CHK:
INTTC1HK:
INTSIOCHK:
INT_EXIT:
; Check INT0 interrupt request
; Check P00IEN
; Jump check to next interrupt
; Check P00IRQ
; Jump to INT0 interrupt service routine
; Check INT1 interrupt request
; Check P01IEN
; Jump check to next interrupt
; Check P01IRQ
; Jump to INT1 interrupt service routine
; Check INT2 interrupt request
; Check P02IEN
; Jump check to next interrupt
; Check P02IRQ
; Jump to INT2 interrupt service routine
; Check T0 interrupt request
; Check T0IEN
; Jump check to next interrupt
; Check T0IRQ
; Jump to T0 interrupt service routine
; Check TC0 interrupt request
; Check TC0IEN
; Jump check to next interrupt
; Check TC0IRQ
; Jump to TC0 interrupt service routine
; Check TC1 interrupt request
; Check TC1IEN
; Jump check to next interrupt
; Check TC1IRQ
; Jump to TC1 interrupt service routine
; Check SIO interrupt request
; Check SIOIEN
; Jump to exit of IRQ
; Check SIOIRQ
B0BTS1
JMP
B0BTS0
JMP
FP00IEN
INTP01CHK
FP00IRQ
INTP00
B0BTS1
JMP
B0BTS0
JMP
FP01IEN
INTP02CHK
FP01IRQ
INTP01
B0BTS1
JMP
B0BTS0
JMP
FP02IEN
INTT0CHK
FP02IRQ
INTP02
B0BTS1
JMP
B0BTS0
JMP
FT0IEN
INTTC0CHK
FT0IRQ
INTT0
B0BTS1
JMP
B0BTS0
JMP
FTC0IEN
INTTC1CHK
FTC0IRQ
INTTC0
B0BTS1
JMP
B0BTS0
JMP
FTC1IEN
INTSIOCHK
FTC1IRQ
INTTC1
B0BTS1
JMP
B0BTS0
JMP
FSIOIEN
INT_EXIT
FSIOIRQ
INTSIO
; Jump to SIO interrupt service routine
POP
; Pop
B0XCH
A, ACCBUF
; Restore ACC value.
RETI
; Exit interrupt vector
SONiX TECHNOLOGY CO., LTD
Page 100
Revision 1.94