历史上的今天
今天是:2024年10月27日(星期日)
2021年10月27日 | ATmega8 堆栈指针
2021-10-27 来源:eefocus
ATmega8 堆栈指针主要用来保存临时数据、局部变量和中断/ 子程序的返回地址。堆栈指针总是指向堆栈的顶部。要注意AVR 的堆栈是向下生长的,即新数据推入堆栈时,堆栈指针的数值将减小。
ATmega8 堆栈指针指向数据SRAM 堆栈区。在此聚集了子程序堆栈和中断堆栈。调用子程序和使 能中断之前必须定义堆栈空间,且堆栈指针必须指向高于0x60 的地址空间。使用PUSH 指令将数据推入堆栈时指针减一;而子程序或中断返回地址推入堆栈时指针将减二。使 用POP 指令将数据弹出堆栈时,堆栈指针加一;而用RET 或RETI 指令从子程序或中断 返回时堆栈指针加二。
AVR的堆栈指针由I/O空间中的两个8位寄存器实现。实际使用的位数与具体器件有关。请 注意某些AVR 器件的数据区太小,用SPL 就足够了。此时将不给出SPH 寄存器。

上一篇:ATmega8 指令执行时序
下一篇:ATmega8 通用寄存器
史海拾趣
|
通用处理器(GPP) 采用冯.诺依曼结构,程序和数据的存储空间合二而一 8-bit Apple(6502),NEC PC-8000(Z80) 8086/286/386/486/Pentium/Pentium II/ Pentium III PowerPc 64-bit CPU(SUN Sparc,DEC Alpha, HP) CISC ...… 查看全部问答> |
|
请问 输入到串口终端的数据保存在哪里? 由于串口采用的是行模式 ,当输入数据时,必须输入 回车 键,数据才被读取。 我想通过编程的方式模拟手动按enter键的过程来使输入的数据被读取。有知道如何编的吗? 之所以有这种需求,使由于 驱动通过 ...… 查看全部问答> |
|
现在是做JAVA开发的(计算机专业出身的),想转硬件开发,大家给我指一条学习路线吧,谢谢各位了。 现在是做JAVA开发的(计算机专业出身的),想转硬件开发,大家给我指一条学习路线吧,谢谢各位了。 … 查看全部问答> |
|
我现在需要一个1M的方波驱动抗混滤波器,能用430F1611产生一个1M的方波吗? 现在的情况是,如果用定时器A中断产生方波影响CPU的正常工作了。 请高手指点!谢谢。… 查看全部问答> |
|
看着大家做的东西挺好,准备用TI的芯片做点好玩的东西。。。纠结了好久实用的有三个: 1.网络收音机 2.PDA 3.掌上游戏机 网络收音机: 这个就不考虑了,这个论坛上已经有人实现了的。但是很多都是用硬件解 ...… 查看全部问答> |
|
请问一下launchpad发的是什么快递,我第五批的,现在还没收到,想知道发是什么快递,我好去查一下,谢谢了 [ 本帖最后由 hytz845 于 2012-7-10 12:41 编辑 ]… 查看全部问答> |




