pic16c72 序列
ds39016a-页16
初步的
1998 微芯 技术 公司
2.3.1 堆栈
这 堆栈 准许 一个 结合体 的 向上 至 8 程序 calls
和 中断 至 出现. 这 堆栈 包含 这 返回
地址 从 这个 branch 在 程序 执行.
Midrange 设备 有 一个 8 水平的 深的 x 13-位 宽
hardw是 堆栈. 这 堆栈 空间 是 不 部分 的 也
program 或者 数据 空间 和 这 堆栈 pointer 是 不
readable 或者 writable. 这 pc 是 pushed 面向 这 堆栈
当 一个
CALL
操作指南 是 executed 或者 一个 中断
导致 一个 branch. 这 堆栈 是 poped 在 这 事件 的 一个
返回, retlw
或者 一个
RETFIE
操作指南 执行.
PCLAth 是 不 modified 当 这 堆栈 是 pushed 或者
poped.
之后 这 堆栈 有 被 pushed 第八 时间, 这 ninth
推 overwrites 这 值 那 是 贮存 从 这 first
推.这 tenth 推 overwrites 这 第二 推 (和
所以 在). 一个 例子 的 这 overwriting 的 这 堆栈 是
shown 在 图示 2-10.
图示 2-10: 堆栈 修改
2.4 程序 记忆 paging
这
CALL
和
GOTO
说明 提供 11 位 的
地址 至 准许 branching 在里面 任何 2k 程序
memory 页. 当 做 一个
CALL
或者
GOTO
操作指南
这 upper 2 位 的 这 地址 是 提供 用
pclath<4:3>.当 做 一个
CALL
或者
GOTO
操作指南,
这 用户 必须 确保 那 这 页 选择 位 是 pro-
grammed 所以 那 这 desired 程序 记忆 页 是
addressed.如果 一个 返回 从 一个
CALL
操作指南 (或者 inter-
rupt) 是 executed, 这 全部 13-位 pc 是 pushed 面向
这 堆栈. 因此, manipulation 的 这
PCLAth<4:3> 位 是 不 必需的 为 这 返回
instructions (这个 pops 这 地址 从 这 堆栈).
push1 push9
push2 push10
Push3
Push4
Push5
Push6
Push7
Push8
顶 的 堆栈
堆栈
便条:
pic16c72 序列 设备 ignore paging
位 pclath<4>. 这 使用 的Pclath<4>
作 一个 一般 目的 读/写 位 是 不
推荐 自从 这个 将 影响
upward 兼容性 和 future 产品.