SN8P1602B
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.
ꢁ
Programming Tip: Defining Reset Vector
CHIP SN8P1602B
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.
Programming Tip: Defining Interrupt Vector (Example 1)
CHIP SN8P1602B
.DATA
.CODE
PFLAGBUF
ORG
JMP
.
0
; 0000H
START
; Jump to user program address.
; 0004H ~ 0007H are reserved
ORG
8
; Interrupt service routine
; B0XCH doesn’t change C, Z flag
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 15
Version 1.1