嵌入式学习小组
登录
直播中
吴樵
8年用户
232经验值
私信
关注
哪位大神可以详细介绍ATtiny13堆栈指针?
开启该帖子的消息推送
ATtiny13
堆栈
AT
ti
ny13堆栈指针
回帖
(1)
王波
2020-11-10 15:44:23
堆栈指针主要用来保存临时数据、局部变量和中断/ 子程序的返回地址。堆栈指针总是指 向堆栈的顶部。要注意AVR 的堆栈是向下生长的,即新数据推入堆栈时,堆栈指针的数 值将减小。在中断/ 子程序后从堆栈读程序计数器,未使用位( 位15) 应屏蔽。
堆栈指针指向数据SRAM 堆栈区。在此聚集了子程序堆栈和中断堆栈。调用子程序和使 能中断之前必须定义堆栈空间,且堆栈指针必须指向高于0x60 的地址空间。使用PUSH 指令将数据推入堆栈时指针减一;而子程序或中断返回地址推入堆栈时指针将减二。使 用POP 指令将数据弹出堆栈时,堆栈指针加一;而用RET 或RETI 指令从子程序或中断 返回时堆栈指针加二。
AVR的堆栈指针由I/O空间中的两个8位寄存器实现。实际使用的位数与具体器件有关。请 注意某些AVR 器件的数据区太小,用SPL 就足够了。此时将不给出SPH 寄存器。
堆栈指针主要用来保存临时数据、局部变量和中断/ 子程序的返回地址。堆栈指针总是指 向堆栈的顶部。要注意AVR 的堆栈是向下生长的,即新数据推入堆栈时,堆栈指针的数 值将减小。在中断/ 子程序后从堆栈读程序计数器,未使用位( 位15) 应屏蔽。
堆栈指针指向数据SRAM 堆栈区。在此聚集了子程序堆栈和中断堆栈。调用子程序和使 能中断之前必须定义堆栈空间,且堆栈指针必须指向高于0x60 的地址空间。使用PUSH 指令将数据推入堆栈时指针减一;而子程序或中断返回地址推入堆栈时指针将减二。使 用POP 指令将数据弹出堆栈时,堆栈指针加一;而用RET 或RETI 指令从子程序或中断 返回时堆栈指针加二。
AVR的堆栈指针由I/O空间中的两个8位寄存器实现。实际使用的位数与具体器件有关。请 注意某些AVR 器件的数据区太小,用SPL 就足够了。此时将不给出SPH 寄存器。
举报
更多回帖
rotate(-90deg);
回复
相关问答
ATtiny13
堆栈
哪位
大神
可以
详细
介绍
一下
ATtiny13
AVR内核的结构?
2020-11-06
1628
Attiny13
/85是什么
2021-09-24
2742
请问
ATtiny13
与
ATtiny13
A有什么区别?
2020-11-13
3991
请问
哪位
大神
可以
详细
介绍
一下
ATtiny13
复位源吗?
2020-11-19
1556
请问
ATtiny13
的中断如何处理?
2020-11-10
2194
哪位
大神
详细
介绍
下
ATtiny13
的上电复位?
2020-11-12
1271
请问如何使用
ATtiny13
外部时钟驱动芯片?
2020-11-17
2439
请问
ATtiny13
引脚有哪些功能?
2020-11-18
2078
ATtiny13
片上调试系统详解
2020-11-05
1502
哪位
大神
可以
详细
介绍
一下
ATtiny13
标定的片内RC振荡器吗?
2020-11-17
1266
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
首页
论坛版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分