8
ATtiny13
2535b–avr–01/04
这 x-寄存器, y-寄存器, 和
z-寄存器
这 寄存器 r26..r31 有 一些 增加 功能 至 它们的 一般 目的 用法.
这些 寄存器 是 16-位 地址 pointers 为 间接的 寻址 的 这 数据 空间.
这 三 间接的 地址 寄存器 x, y, 和 z 是 定义 作 描述 在 图示 5.
图示 5.
这 x-, y-, 和 z-寄存器
在 这 不同的 寻址 模式 这些 地址 寄存器 有 功能 作 fixed dis-
placement, 自动 increment, 和 自动 decrement (看 这 操作指南 设置
涉及 为 详细信息).
堆栈 pointer
这 堆栈 是 mainly 使用 为 storing temporary 数据, 为 storing local 变量 和 为
storing 返回 地址 之后 中断 和 子例程 calls. 这 堆栈 pointer regis-
ter 总是 点 至 这 顶 的 这 堆栈. 便条 那 这 堆栈 是 执行 作 growing
从 高等级的 记忆 locations 至 更小的 记忆 locations. 这个 implies 那 一个 堆栈
推 command 减少 这 堆栈 pointer.
这 堆栈 pointer 点 至 这 数据 sram 堆栈 范围 在哪里 这 子例程 和 inter-
rupt stacks 是 located. 这个 堆栈 空间 在 这 数据 sram 是 定义 至 这 last
地址 在 sram 在 在 重置. 这 堆栈 pointer 必须 是 设置 至 要点 在之上 0x60.
这 堆栈 pointer 是 decremented 用 一个 当 数据 是 pushed 面向 这 堆栈 和 这
推 操作指南, 和 它 是 decremented 用 二 当 这 返回 地址 是 pushed 面向
这 堆栈 和 子例程 call 或者 中断. 这 堆栈 pointer 是 incremented 用 一个
当 数据 是 popped 从 这 堆栈 和 这 流行音乐 操作指南, 和 它 是 incremented 用
二 当 数据 是 popped 从 这 堆栈 和 返回 从 子例程 ret 或者 返回 从
中断 reti.
这 avr 堆栈 pointer 是 执行 作 二 8-位 寄存器 在 这 i/o 空间. 这 num-
ber 的 位 的确 使用 是 implementation 依赖. 便条 那 这 数据 空间 在 一些
implementations 的 这 avr architecture 是 所以 小 那 仅有的 spl 是 需要. 在 这个
情况, 这 sph 寄存器 将 不 是 呈现.
15 XH XL 0
x-寄存器 7 0 7 0
r27 (0x1b) r26 (0x1a)
15 YH YL 0
y-寄存器 7 0 7 0
r29 (0x1d) r28 (0x1c)
15 ZH ZL 0
z-寄存器 7 0 7 0
r31 (0x1f) r30 (0x1e)
位 151413121110 9 8
SP15 SP14 SP13 SP12 SP11 SP10 SP9 SP8 SPH
SP7 SP6 SP5 SP4 SP3 SP2 SP1 SP0 SPL
76543210
读/写 r/w r/w r/w r/w r/w r/w r/w r/w
r/w r/w r/w r/w r/w r/w r/w r/w
最初的 value00000000
10011111