8
AT90S1200
0838H
–
AVR
–
03/02
operands 是 包含 在 寄存器 r (rr) 和 d (rd). 这 结果 是 贮存 在 寄存器 d
(rd).
i/o 直接 图示 9.
i/o 直接 寻址
operand 地址 是 包含 在 6 位 的 这 操作指南 文字. n 是 这 destination 或者
源 寄存器 地址.
相关的 程序 寻址,
rjmp 和 rcall
图示 10.
相关的 程序 记忆 寻址
程序 执行 持续 在 地址 pc + k + 1. 这 相关的 地址 k 是 -2048 至
2047.
子例程 和 中断
硬件 堆栈
这 at90s1200 使用 一个 3 水平的 深的 硬件 堆栈 为 subroutines 和 中断. 这
硬件 堆栈 是 9 位 宽 和 stores 这 程序 计数器 (pc) 返回 地址 当
subroutines 和 中断 是 executed.
rcall 说明 和 中断 推 这 pc 返回 地址 面向 堆栈 水平的 0, 和
这 数据 在 这 其它 堆栈 水平 1 - 2 是 pushed 一个 水平的 deeper 在 这 堆栈. 当 一个
ret 或者 reti 操作指南 是 executed 这 returning pc 是 fetched 从 堆栈 水平的 0, 和
这 数据 在 这 其它 堆栈 水平 1 - 2 是 popped 一个 水平的 在 这 堆栈.
如果 更多 比 三 subsequent 子例程 calls 或者 中断 是 executed, 这 第一 val-
ues 写 至 这 堆栈 是 overwritten.