SN8P2501D
8-Bit Micro-Controller
SONiX TECHNOLOGY CO., LTD
Page 29
Version 1.5
0F0H~0F8H
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
STKnH
-
-
-
-
-
-
SnPC9
SnPC8
Read/Write
-
-
-
-
-
-
R/W
R/W
After reset
-
-
-
-
-
-
0
0
0F0H~0F8H
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
STKnL
SnPC7
SnPC6
SnPC5
SnPC4
SnPC3
SnPC2
SnPC1
SnPC0
Read/Write
R/W
R/W
R/W
R/W
R/W
R/W
R/W
R/W
After reset
0
0
0
0
0
0
0
0
STKn = STKnH , STKnL (n = 3 ~ 0)
2.4.3 STACK OPERATION EXAMPLE
The two kinds of Stack-Save operations refer to the stack pointer (STKP) and write the content of program counter (PC)
to the stack buffer are CALL instruction and interrupt service. Under each condition, the STKP decreases 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 the following table.
Stack Level
STKP Register
Stack Buffer
Description
STKPB1
STKPB0
High Byte
Low Byte
0
1
1
Free
Free
-
1
1
0
STK0H
STK0L
-
2
0
1
STK1H
STK1L
-
3
0
0
STK2H
STK2L
-
4
1
1
STK3H
STK3L
-
> 4
1
0
-
-
Stack Over, error
There are Stack-Restore operations correspond to each push operation to restore the program counter (PC). The RETI
instruction uses for interrupt service routine. The RET instruction is for CALL instruction. When a pop 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 the following table.
Stack Level
STKP Register
Stack Buffer
Description
STKPB1
STKPB0
High Byte
Low Byte
4
1
1
STK3H
STK3L
-
3
0
0
STK2H
STK2L
-
2
0
1
STK1H
STK1L
-
1
1
0
STK0H
STK0L
-
0
1
1
Free
Free
-