12
attiny11/12
1006d–avr–07/03
相关的 程序 寻址,
rjmp 和 rcall
图示 12.
相关的 程序 记忆 寻址
程序 执行 持续 在 地址 pc + k + 1. 这 相关的 地址 k 是 -2048 至
2047.
常量 寻址 使用
这 lpm 操作指南
图示 13.
代号 记忆 常量 寻址
常量 字节 地址 是 指定 用 这 z-寄存器 内容. 这 15 msbs 选择 文字
地址 (0 - 511), 这 lsb 选择 低 字节 如果 cleared (lsb = 0) 或者 高 字节 如果 设置
(lsb = 1).
子例程 和 中断
硬件 堆栈
这 attiny11/12 使用 一个 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. pushing 四 返回 地址 a1, a2, a3, 和
a4, followed 用 四 子例程 或者 中断 returns, 将 流行音乐 a4, a3, a2, 和 once 更多
a2 从 这 硬件 堆栈.
+1
$1FF
$000
程序 记忆
15 1 0
z-寄存器