SN8P2714X_2715
8-bit micro-controller build-in 12-bit ADC
SONiX TECHNOLOGY CO., LTD
Page 30
V1.4
3.6.3 STACK OPERATION EXAMPLE
The two kinds of Stack-Save operations to reference the stack pointer (STKP) and write the program counter contents
(PC) into the stack buffer are CALL instruction and interrupt service. Under each condition, the STKP is decremented
and points to the next available stack location. The stack buffer stores the program counter about the op-code address.
The Stack-Save operation is as following table.
STKP Register
Stack Buffer
Description
Stack Level
STKPB2
STKPB1
STKPB0
High Byte
Low Byte
0
1 1 1
STK0H
STK0L
-
1
1 1 0
STK1H
STK1L
-
2
1 0 1
STK2H
STK2L
-
3
1 0 0
STK3H
STK3L
-
4
0 1 1
STK4H
STK4L
-
5
0 1 0
STK5H
STK5L
-
6
0 0 1
STK6H
STK6L
-
7
0 0 0
STK7H
STK7L
-
>8
- - - - -
Stack Overflow
Table 3-1. STKP, STKnH and STKnL relative of Stack-Save Operation
The RETI instruction is for interrupt service routine. The RET instruction is for CALL instruction. When a Stack-Restore
operation occurs, the STKP is incremented and points to the next free stack location. The stack buffer restores the last
program counter (PC) to the program counter registers. The Stack-Restore operation is as following table.
STKP Register
Stack Buffer
Description
Stack Level
STKPB2
STKPB1
STKPB0
High Byte
Low Byte
7
0 0 0
STK7H
STK7L
-
6
0 0 1
STK6H
STK6L
-
5
0 1 0
STK5H
STK5L
-
4
0 1 1
STK4H
STK4L
-
3
1 0 0
STK3H
STK3L
-
2
1 0 1
STK2H
STK2L
-
1
1 1 0
STK1H
STK1L
-
0
1 1 1
STK0H
STK0L
-
Table 3-2. STKP, STKnH and STKnL relative of Stack-Restore Operation