9
mitsubishi microcomputers
4570 组
单独的-碎片 4-位 cmos microcomputer
图. 5 堆栈 寄存器 (sks) 结构
图. 6 例子 的 运作 在 子例程 call
(5) 堆栈 寄存器 (sk
S
) 和 堆栈 pointer (sp)
堆栈 寄存器 (sks) 是 使用 至 temporarily store 这
内容 的 程序 计数器 (pc) just 在之前 branching 直到
returning 至 这 原来的 routine 当;
• branching 至 一个 中断 维护 routine (涉及 至 作
一个 中断 维护 routine),
• performing 一个 子例程 call, 或者
• executing 这 表格 涉及 操作指南 (tabp p).
堆栈 寄存器 (sks) 是 第八 完全同样的 寄存器, 所以 那
subroutines 能 是 nested 向上 至 8 水平. 不管怎样, 一个 的
堆栈 寄存器 是 使用 当 使用 一个 中断 维护 routine
或者 当 executing 一个 表格 涉及 操作指南. accordingly,
是 细致的 不 至 堆栈 在 当 performing 这些 行动
一起. 这 内容 的 寄存器 sks 是 destroyed 当
8 水平 是 超过.
这 寄存器 sk 嵌套 水平的 是 pointed automatically 用 3-
位 堆栈 pointer (sp). 这 内容 的 这 堆栈 pointer (sp)
能 是 transferred 至 寄存器 一个 和 这 tasp 操作指南.
图示 5 显示 这 堆栈 寄存器 (sks) 结构.
图示 6 显示 这 例子 的 运作 在 子例程 call.
(6) 中断 堆栈 寄存器 (sdp)
中断 堆栈 寄存器 (sdp) 是 一个 1-平台 寄存器. 当 一个
中断 occurs, 这个 寄存器 (sdp) 是 使用 至 temporarily
store 这 内容 的 数据 pointer, carry 标记, skip 标记, 寄存器
一个, 和 寄存器 b just 在之前 一个 中断 直到 returning 至 这
原来的 routine.
不像 这 堆栈 寄存器 (sks), 这个 寄存器 (sdp) 是 不
使用 当 executing 这 子例程 call 操作指南 和 这
表格 涉及 操作指南.
(7) skip 标记
skip 标记 控制 skip decision 为 这 conditional skip
说明 和 持续的 描述 skip 说明. 当
一个 中断 occurs, 这 内容 的 skip 标记 是 贮存
automatically 在 这 中断 堆栈 寄存器 (sdp) 和 这
skip 情况 是 retained.
SK
0
SK
1
SK
2
SK
3
SK
4
SK
5
SK
6
SK
7
(sp) = 0
(sp) = 1
(sp) = 2
(sp) = 3
(sp) = 4
(sp) = 5
(sp) = 6
(sp) = 7
程序 计数器 (pc)
executing 这 返回 或者
表格 涉及 操作指南
executing 这 子例程
call 或者 表格 涉及
操作指南
堆栈 pointer (sp) 点 “7” 在 重置 或者
returning 从 内存 后面的-向上 模式. 它 点 “0”
用 executing 这 第一 bm 操作指南, 和 这
内容 的 程序 计数器 是 贮存 在 sk
0
.
当 这 bm 操作指南 是 executed 之后 第八
堆栈 寄存器 是 使用 ((sp) = 7), (sp) = 0
和 这 内容 的 sk
0
是 destroyed.
returning 至 这 bm 操作指南 执行
地址 和 这 rt 操作指南, 和 这 bm
操作指南 是 相等的 至 这 nop 操作指南.
(sp)
0
(sk
0
)
0001
16
(pc)
SUB1
主要的 程序
0002
16
NOP
地址
0000
16
NOP
0001
16
bm sub1
子例程
sub1 :
NOP
RT
(pc) (sk
0
)
(sp) 7
·
·
·
便条:
➝
➝
➝
➝
➝