SN8P1700
8-bit micro-controller build-in 12-bit ADC
STACK REGISTERS
The stack pointer (STKP) is a 4-bit register to store the address used to access the stack buffer, 12-bits data memory
(STKnH and STKnL) set aside for temporary storage of stack addresses.
The two stack operations are writing to the top of the stack (Stack-Save) and reading (Stack-Restore) from the top of
stack. Stack-Save operation decrements the STKP and the Stack-Resotre operation increments one time. That makes
the STKP always points to the top address of stack buffer and writes the last program counter value (PC) into the stack
buffer.
The program counter (PC) value is stored in the stack buffer before a CALL instruction executed or during interrupt
service routine. Stack operation is a LIFO type (Last in and first out). The stack pointer (STKP) and stack buffer
(STKnH and STKnL) are located in the system register area bank 0.
STKP (stack pointer) initial value = 0xxx 1111
0DFH
STKP
Bit 7
GIE
R/W
Bit 6
-
-
Bit 5
-
-
Bit 4
-
-
Bit 3
STKPB3
R/W
Bit 2
STKPB2
R/W
Bit 1
STKPB1
R/W
Bit 0
STKPB0
R/W
STKPBn: Stack pointer. (n = 0 ~ 3)
GIE: Global interrupt control bit. 0 = disable, 1 = enable. More detail information is in interrupt chapter.
ꢃExample: Stack pointer (STKP) reset routine.
MOV
B0MOV
A, #00001111B
STKP, A
STKn (stack buffer) initial value = xxxx xxxx xxxx xxxx, STKn = STKnH + STKnL (n = 7 ~ 0)
0F0H~0FFH
Bit 7
-
-
Bit 6
-
-
Bit 5
-
-
Bit 4
-
-
Bit 3
SnPC11
R/W
Bit 2
SnPC10
R/W
Bit 1
SnPC9
R/W
Bit 0
SnPC8
R/W
STKnH
0F0H~0FFH
Bit 7
SnPC7
R/W
Bit 6
SnPC6
R/W
Bit 5
SnPC5
R/W
Bit 4
SnPC4
R/W
Bit 3
SnPC3
R/W
Bit 2
SnPC2
R/W
Bit 1
SnPC1
R/W
Bit 0
SnPC0
R/W
STKnL
STKnH: Store PCH data as interrupt or call executing. The n expressed 0 ~7.
STKnL: Store PCL data as interrupt or call executing. The n expressed 0 ~7.
SONiX TECHNOLOGY CO., LTD
Page 42
Revision 1.94