
五金
4506组
功能块操作
( 5 )堆栈寄存器( SK
S
)和堆栈指针( SP )
堆栈寄存器( SKS )用于暂时存储的内容
程序计数器( PC)只是分支,直到返回到前
当原始程序;
分支到中断服务例程(称为一个跨
中断服务程序) ,
执行子程序调用,或
执行表参照指令( TABP P) 。
堆栈寄存器( SK)由八个相同的寄存器,使子程序,
齿可以嵌套多达8个的水平。然而,堆栈寄存器中的一个
使用中断服务例程时,分别使用与
执行表参照指令时。因此,要护理 -
FUL不执行这些操作时,在堆
在一起。登记册SKS的内容被破坏时, 8列弗
ELS被超过。
寄存器SK嵌套级别由3位自动指向
堆栈指针(SP ) 。堆栈指针(SP)的内容可以是
转移到与TASP指令寄存器A 。
图5示出堆栈寄存器( SKS )结构。
图6示出运行中的子程序调用的示例。
程序计数器(PC)的
EXECUTING
BM
指令
SK
0
SK
1
SK
2
SK
3
SK
4
SK
5
SK
6
SK
7
EXECUTING
RT
指令
(SP) = 0的
(SP) = 1
(SP) = 2
(SP) = 3
(SP) = 4
(SP) = 5
(SP) = 6
(SP) = 7
堆栈指针( SP)指向“7”在复位或
从RAM备份模式返回。它指向“0”
通过执行第一
BM
指令,并在
程序计数器的内容被存储在SK
0
.
当
BM
后八指令被执行
堆栈寄存器用于( (SP) = 7) , (SP) = 0的
和SK中的内容
0
被破坏。
图。 5堆栈寄存器( SKS )的结构
( 6 )中断堆栈寄存器( SDP )
中断堆栈寄存器( SDP)是一个1级的寄存器。当一个跨
中断发生时,该寄存器(SDP)被用来暂时存储
数据指针的内容,进位标志,跳越标志,寄存器A和寄存器
之三乙只是前一个中断,直到返回到原始程序。
与堆栈寄存器( SKS ) ,该寄存器( SDP )不使用
执行子程序调用指令和表为参考时
ENCE指令。
(SP)的
←
0
( SK
0
)
←
0001
16
(PC)的
←
SUB1
主程序
地址
0000
16
NOP
0001
16
BM SUB1
0002
16
NOP
子程序
SUB1 :
NOP
·
·
·
RT
( 7 )跳过标志
跳过标志控制跳过决定的条件跳转指令
连续描述的跳转指令。当一个中断产生
小人,跳过标志的内容被自动地存储在中断
堆栈寄存器(SDP)和跳跃状态被保留。
(PC)的
←
( SK
0
)
(SP)的
←
7
注意:
返回到
BM
指令执行
与解决
RT
指令,并在
BM
指令变为
NOP
指令。
图。操作的子程序调用6例
Rev.2.01 2005年2月7日
REJ09B0194-0201
1-14