EasyManua.ls Logo

SONIX SN8P2624 - 2.3.3 Stack Operation Example

SONIX SN8P2624
94 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
SN8P2624
8-Bit Micro-Controller
SONiX TECHNOLOGY CO., LTD Page 36 Version 0.3
2.3.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.
STKP Register Stack Buffer
Stack Level
STKPB2 STKPB1 STKPB0 High Byte Low Byte
Description
0
1 1 1 Free Free
-
1
1 1 0 STK0H STK0L
-
2
1 0 1 STK1H STK1L
-
3
1 0 0 STK2H STK2L
-
4
0 1 1 STK3H STK3L
-
5
0 1 0 STK4H STK4L
-
6
0 0 1 STK5H STK5L
-
7
0 0 0 STK6H STK6L
-
8
1 1 1 STK7H STK7L
-
> 8
1 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.
STKP Register Stack Buffer
Stack Level
STKPB2 STKPB1 STKPB0 High Byte Low Byte
Description
8
1 1 1 STK7H STK7L
-
7
0 0 0 STK6H STK6L
-
6
0 0 1 STK5H STK5L
-
5
0 1 0 STK4H STK4L
-
4
0 1 1 STK3H STK3L
-
3
1 0 0 STK2H STK2L
-
2
1 0 1 STK1H STK1L
-
1
1 1 0 STK0H STK0L
-
0
1 1 1 Free Free
-

Table of Contents