以下资料参考马潮老师的中文手册,由微雪电子整理并发布,转载请注明出处:www.waveshare.net,否则追究相应责任!
堆栈指针主要用来保存临时数据,局部变量和中断/ 自程序的返回地址。堆栈指针总是指 向堆栈的顶部。要注意AVR 的堆栈是向下生长的,即新数据推入堆栈时,堆栈指针的数 值将减小。 堆栈指针指向位于SRAM 的函数及中断堆栈。堆栈空间必须在调用函数或中断使能之前 定义。指针必须指向高于$60 的地址。用PUSH 指令推数据入栈时,堆栈指针将减一, 而当调用函数或中断时,指针将减二。使用POP 指令时,堆栈指针将加一,而用RET 或 RETI 返回时,指针将加二。 AVR堆栈指针占用了I/O空间两个8位寄存器。使用的位数由实际情况决定。注意,在AVR 结构中某些操作使用的数据空间很小,只要SPL 即可 ,此时,不会给出SPH 寄存器。 RAM 页面的Z 选择寄存器-RAMPZ • Bits 7..2 – Res: 保留 • Bit 1 – RAMPZ0: 扩展RAM 页面Z 指针 LPM 不受RAMPZ 设置的影响。 |
相关AVR资料说明 |
可作为如下AVR的参考资料: ATtiny13 ATtiny24 ATtiny44 ATtiny84 ATtiny2313 ATtiny26 ATmega48 ATmega88 ATmega168 ATmega8 ATmega16 ATmega32 ATmega64 ATmega128 ATmega162 ATmega169 ATmega169P ATmega8515 ATmega8535
相关AVR型号资料 |
ATtiny13 | ATtiny24 | ATtiny44 | ATtiny84 | ATtiny26 | ATtiny2313 |
ATmega48 | ATmega88 | ATmega168 | ATmega8 | ATmega16 | ATmega32 |
ATmega64 | ATmega128 | ATmega162 | ATmega169 | ATmega8515 | ATmega8535 |
ATmega128 堆栈指针
——