
初步
堆栈寄存器
SN8P1702A/SN8P1703A
8位微控制器内置的12位ADC
堆栈指针STKP是一个4位寄存器来存储用于访问堆栈单元地址, 12位数据存储器
( STKnH和STKnL )预留的堆栈地址的临时存储。
这两个堆栈操作写入到栈(stack -保存)的顶部,并从顶部阅读(堆栈恢复)
堆栈。入栈操作递减STKP和堆栈恢复操作递增一次。这使得
在STKP总是指向堆栈缓存器顶层,并写入最后的程序计数器值( PC)压入堆栈
缓冲区。
程序计数器( PC)的值存储在堆栈的缓冲区之前执行CALL指令或中断
服务程序。堆栈操作是一个后进先出式(最后入先出) 。堆栈指针( STKP )和栈缓冲区
( STKnH和STKnL )位于系统寄存器区域银行0 。
STKP (堆栈指针)初始值= 0XXX 1111
0DFH
STKP
第7位
GIE
读/写
第6位
-
-
第5位
-
-
4位
-
-
第3位
STKPB3
读/写
第2位
STKPB2
读/写
第1位
STKPB1
读/写
位0
STKPB0
读/写
STKPBn :堆栈指针。 ( n = 0时 3)
GIE :全局中断控制位。 0 =禁用,1 =启用。更多详细信息可以在中断章节。
例如:堆栈指针STKP复位程序。
MOV
B0MOV
A, # 00001111B
STKP ,A
STKN (堆栈缓冲区)初始值= XXXX XXXX XXXX XXXX , STKN = STKnH + STKnL ( N = 7 0 )
0F0H~0FFH
STKnH
第7位
-
-
第6位
-
-
第5位
-
-
4位
-
-
第3位
-
-
第2位
-
-
第1位
SnPC9
读/写
位0
SnPC8
读/写
0F0H~0FFH
STKnL
第7位
SnPC7
读/写
第6位
SnPC6
读/写
第5位
SnPC5
读/写
4位
SnPC4
读/写
第3位
SnPC3
读/写
第2位
SnPC2
读/写
第1位
SnPC1
读/写
位0
SnPC0
读/写
STKnH :存储PCH数据中断或调用执行。第n表示0 7 。
STKnL :存储PCL数据中断或调用执行。第n表示0 7 。
松翰科技股份有限公司
第30页
修订版0.5