1998 微芯 技术 公司
初步的
ds40191a-页 17
PIC16CR54C
4.5 程序 计数器
作 一个 程序 操作指南 是 executed, 这 程序
计数器 (pc) 将 包含 这 地址 的 这 next
program 操作指南 至 是 executed. 这 pc 值 是
增加 用 一个 每 操作指南 循环, 除非 一个
instruction 改变 这 pc.
F或者 一个
GOTO
操作指南, 位 8:0 的 这 pc 是 提供
by 这
GOTO
操作指南 文字. 这 pc 获得 (pcl) 是
编排 至 pc<7:0> (图示 4-5 和 图示 4-6).
F或者 一个
CALL
操作指南, 或者 任何 操作指南 在哪里 这
pcl 是 这 destination, 位 7:0 的 这 pc 又一次 是
provided 用 这 操作指南 文字.However, pc<8>
做 不 来到 从 这 操作指南 文字, 但是 是 总是
cleared (图示 4-10 和 图示 4-11)/
Instructions 在哪里 这 pcl 是 这 destination, 或者
modify pcl 说明, 包含
movwf pc, addwf
PC
, 和
bsf pc, 5
.
.
便条:
因为 pc<8> 是 cleared 在 这
CALL
instruction, 或者 任何 modify pcl 操作指南,
所有 子例程 calls 或者 计算 jumps 是
限制 至 这 first 256 locations 的 任何 pro-
gram 记忆 页 (512 words 长).
图示 4-5: 加载 的 pc
branch 说明 -
PIC16CR54C
4.5.1 影响 的 重置
这 程序 计数器 是 设置 在之上 一个 重置, 这个
意思 那 这 pc 地址 这 last location 在 这
last 页 i.e., 这 重置 vector.
这 状态 寄存器 页 preselect 位 是 cleared
在之上 一个 重置, 这个 意思 那 页 0 是
前-选择.
因此, 在之上 一个 重置, 一个
GOTO
操作指南 在 这
重置 vector location 将 automatically 导致 这
program 至 jump 至 页 0.
4.6 堆栈
PIC16CR54C设备 有 一个 9-位, 二-水平的 硬件
推/流行音乐 堆栈 (图示 4-1).
一个
CALL
操作指南 将
推
这 电流 值 的 堆栈
1 在 堆栈 2 和 然后 推 这 电流 程序
计数器 值, incremented 用 一个, 在 堆栈 水平的 1. 如果
更多 比 二 sequential
CALL
’s 是 executed, 仅有的
这 大多数 recent 二 返回 地址 是 贮存.
一个
RETLW
操作指南 将
流行音乐
这 内容 的 堆栈 水平的
1 在 这 程序 计数器 和 然后 copy 堆栈 水平的 2
内容 在 水平的 1. 如果 更多 比 二 sequential
RETLW
’s 是 executed, 这 堆栈 将 是 filled 和 这
地址 先前 贮存 在 水平的 2. 便条 那 这
W寄存器 将 是 承载 和 这 literal 值 specified
在 这 操作指南. 这个 是 特别 有用的 为 这
implementation 的 数据 看-向上 tables 在里面 这
program 记忆.
PC
8 7 0
PCL
PC
8 7 0
PCL
重置 至 '0'
操作指南 文字
操作指南 文字
GOTO
操作指南
CALL
或者 modify pcl 操作指南