SN8P1600
8-bit micro-controller
USER RESET VECTOR ADDRESS (0000H)
A 1-word vector address area is used to execute system reset. After power on reset or watchdog timer overflow reset,
then the chip will restart the program from address 0000h and all system registers will be set as default values. The
following example shows the way to define the reset vector in the program memory.
ꢃ
Example: After power on reset, external reset active or reset by watchdog timer overflow.
CHIP SN8P1602
ORG
JMP
.
0
; 0000H
START
; Jump to user program address.
; 0004H ~ 0007H are reserved
ORG
10H
START:
; 0010H, The head of user program.
.
; User program
.
.
.
ENDP
; End of program
INTERRUPT VECTOR ADDRESS (0008H)
A 1-word vector address area is used to execute interrupt request. If any interrupt service executes, the program
counter (PC) value is stored in stack buffer and jump to 0008h of program memory to execute the vectored interrupt.
Users have to define the interrupt vector. The following example shows the way to define the interrupt vector in the
program memory.
ꢃ
Example 1: This demo program includes interrupt service routine and the user program is behind the
interrupt service routine.
CHIP SN8P1602
.DATA
PFLAGBUF
.CODE
ORG
JMP
.
0
; 0000H
START
; Jump to user program address.
; 0004H ~ 0007H are reserved
; Interrupt service routine
; B0XCH doesn’t change C, Z flag
ORG
8
B0XCH
B0MOV
B0MOV
.
A, ACCBUF
A, PFLAG
PFLAGBUF, A
; Save PFLAG register in a buffer
.
B0MOV
B0MOV
B0XCH
RETI
A, PFLAGBUF
PFLAG, A
A, ACCBUF
; Restore PFLAG register from buffer
; B0XCH doesn’t change C, Z flag
; End of interrupt service routine
START:
; The head of user program.
.
; User program
.
JMP
START
; End of user program
; End of program
ENDP
SONiX TECHNOLOGY CO., LTD
Page 17
Revision 1.94