arm 堆栈操作

发布者:Xiangtan最新更新时间:2024-08-05 来源: cnblogs关键字:arm  堆栈操作 手机看文章 扫描二维码
随时随地手机看文章

arm 支持4种堆栈分别为

1.FD (full decending) 满堆栈递减

2.FA (full ascendng) 满堆栈递增

3.ED (empty desending ) 空堆栈递减

4.EA (empty ascending ) 空堆堆栈的递增

我们很熟悉的X86 堆栈操作,一般是堆栈先指向最后一个有效的数据的低地址

比如 mov esp ,4096,那么就是制定 0 - 4095 作为堆栈空间了,(ss 为0)

(以32位 CPU ,小端模式为例)

那么执行 push 操作的时候就是

esp -= 4;

dword ptr [esp] = xxx;

相对应,pop 就是

xxx = dword ptr [esp] ;

esp += 4;

那么我们再分析arm,哪一种对应我们的熟悉的X86堆栈操作呢,结论是 STMFD/LDMFD

这也是为什么 ARM-THUMB C/C++调用协定默认使用 FD的原因了,

(设计成这种模式,我想这是为了符合大部分使用 X86的人习惯使用ARM的,我猜的,嘿嘿)

注意 ADS 1.2 只支持 FD模式

还有一点要注意,不管如何安排压栈顺序,汇编器总是升序排序,然后从最高的压栈

即:

stmfd sp!,{r0} <==> sp -= 4;

                    str  r0,[sp]

ldmfd sp!,{r0} <==> ldr  r0,[sp]

                    sp += 4

其他的类似,本着够用的原则,在次不多分析

今天看到一个帖子,写的不错,推荐  http://blog.csdn.net/dsgsnb/article/details/5687591

便于记忆区分:

只要记住

满堆栈就是先设置 SP ,再填入数据,而空栈就是 先入栈,再设置SP,(所以SP总是指空,名字也这么起,对吧)

而递增递减是以栈的增长方向来说明的,递增则说明是 低往高长,递减则为高往低长

 


关键字:arm  堆栈操作 引用地址:arm 堆栈操作

上一篇:关于 arm-linux-gcc 使用 static关键字的一个 bug
下一篇:undefined reference to `__aeabi_uidivmod'、 `__aeabi_uidiv'

推荐阅读最新更新时间:2026-03-22 12:49

51单片机堆栈操作指令举例说明
堆栈操作 指令 有两条: PUSH direct POP direct 第一条指令称之为推入,就是将direct中的内容送入堆栈中,第二条指令称之为弹出,就是将堆栈中的内容送回到direct中。推入指令的执行过程是,首先将SP中的值加1,然后把SP中的值当作地址,将direct中的值送进以SP中的值为地址的RAM单元中。例: MOV SP,#5FH MOV A,#100 MOV B,#20 PUSH ACC PUSH B 则执行第一条PUSH ACC指令是这样的:将SP中的值加1,即变为60H,然后将A中的值送到60H单元中,因此执行完本条指令后, 内存60H单元的值就是100,同样,执行PUSH B时,是将SP+
[单片机]
堆栈操作类指令(2条)举例——mcs51单片机汇编语言
堆栈操作类 指令 (2条) 这4类指令的作用是把直接寻址单元的内容传送到堆栈指针SP所指的单元中,以及把SP所指单元的内容送到直接寻址单元中。这类指令只有两条,下述的第一条常称为入栈操作指令,第二条称为出栈操作指令。需要指出的是,单片机开机复位后,(SP)默认为07H,但一般都需要重新赋值,设置新的SP首址。入栈的第一个数据必须存放于SP+1所指存储单元,故实际的堆栈底为SP+1所指的存储单元。 PUSH data ;(SP)+1→(SP),(data)→(SP) 堆栈指针首先加1,直接寻址单元中的数据送到堆栈指针SP所指的单元中 POP data ;(SP)→(data)(SP)-1→(SP), 堆栈指针SP所指的单元数
[单片机]
CES 2026 开幕,Arm 引领五大技术趋势
随着物理 AI 与边缘 AI 的应用日益成熟,盘点 2026 年国际消费电子展的现场亮点 2025 年是人工智能 (AI) 发展的关键转折点。曾经尚处实验探索阶段的技术,如今已全面落地于汽车、消费电子、智能家居系统以及新一代机器人领域。2026 年国际消费电子展 (CES 2026) 恰逢行业关键节点——智能系统正朝着更智能、更快速的方向演进,并加速融入人们的日常生活。 在今年的 CES 上,以下趋势将成为 AI 领域发展的核心动能: 物理 AI:汽车、机器人及各类设备可感知、理解现实环境,并在实际场景中安全可靠地运行; 边缘 AI:智能持续向用户端迁移,驱动日常设备实现更快速、更私密、更个性化的体验; 部分场景
[嵌入式]
端侧AI爆发催生芯片设计新范式,Arm技术授权订阅模式为产业铺就“快车道”
端侧AI爆发催生芯片设计新范式,Arm技术授权订阅模式为产业铺就“快车道” 随着人工智能从云端向端侧加速渗透,芯片设计面临的复杂度与日俱增。企业不仅需要领先的技术支撑,更需要在成本控制、风险管理和开发效率之间找到平衡。 Arm技术授权订阅模式通过Arm Flexible Access、Arm Total Access、Arm Academic Access三种灵活方案,为不同阶段的组织提供从零成本起步到全面技术覆盖的差异化选择,助力各类企业在AI时代加速芯片创新。 什么是Arm技术授权订阅模式? Arm技术授权订阅模式是一种灵活的IP获取及使用方式,让各类组织都能以更适合自身发展阶段的方式轻松使用Arm技术。 无
[嵌入式]
端侧AI爆发催生芯片设计新范式,<font color='red'>Arm</font>技术授权订阅模式为产业铺就“快车道”
Microchip推出PIC32CM PL10 MCU系列,进一步扩展其 Arm@ Cortex@-M0+产品组合
Microchip推出PIC32CM PL10 MCU系列,进一步扩展其Arm® Cortex®-M0+产品组合 该低功耗器件支持5V运行,在实现高性能的同时,能有效保障系统简洁性与成本效益 基于在低功耗、高性价比及易开发嵌入式应用领域数十年的经验积累,Microchip Technology (微芯科技公司)今日宣布为 其PIC32C系列Arm ® Cortex ® -M0+内核产品组合新增PIC32CM PL10单片机(MCU) 。PL10系列MCU具备丰富的独立于内核的外设(CIP)、支持5V运行,并集成触摸功能、工具集及安全合规特性。该系列器件面向工业控制、楼宇自动化、家用电器、电动工具及传感器系统等大量应用领域。
[单片机]
Microchip推出PIC32CM PL10 MCU系列,进一步扩展其  <font color='red'>Arm</font><sup>@</sup> Cortex<sup>@</sup>-M0+产品组合
应对端侧AI算力、内存、功耗“三堵墙”困境,安谋科技Arm China “周易”X3给出技术锦囊
AI大模型正加速从云端向边缘与端侧渗透,然而,算力、内存、功耗等却成了制约其规模化落地的“高墙”。专为AI计算而生的神经网络处理器(NPU),成为破墙关键。安谋科技Arm China“周易”X3 NPU IP,通过架构创新、软硬件协同优化与开放生态等,为应对端侧AI“算力墙”、“内存墙”、“功耗墙”困境给出技术锦囊。 锦囊一:应对“算力墙”,从“定点”到“浮点”,架构升级与算力灵活配置 端侧AI从CNN向Transformer迁移,对高精度浮点运算的需求激增。传统NPU受限于架构适配性差、算力调度效率低等,难以满足复杂AI场景的动态需求。为应对大模型对端侧算力的严苛需求,“周易”X3提供了高效的解决方案。 “周
[嵌入式]
应对端侧AI算力、内存、功耗“三堵墙”困境,安谋科技<font color='red'>Arm</font> China “周易”X3给出技术锦囊
ARM64架构硬件中断处理流程深度剖析
一、先搞懂:什么是硬件中断? 你正在用刷视频,突然收到微信消息 —— 这就是生活中的 “ 中断 ” 。对 64 (手机、服务器、设备的核心)来说, 硬件中断是外设(如键盘、网卡、)向 发送的 “ 紧急请求 ” :比如网卡收到数据要处理、到点要触发任务、按键被按下要响应,这些都需要 CPU 暂停当前工作,优先处理紧急事务。 没有中断机制的话, CPU 只能 “ 轮询 ” 外设(挨个问 “ 有没有事? ” ),既浪费资源又反应迟钝。而中断就像 “ 快递敲门 ” , CPU 不用一直等,收到再
[嵌入式]
<font color='red'>ARM</font>64架构硬件中断处理流程深度剖析
Arm 助力阿斯顿・马丁沙特阿美一级方程式车队打造下一代进站系统
实时洞察、稳定执行与可扩展计算能力,正助力该车队迎接一级方程式赛车(Formula One™)性能竞技的新时代。 在一级方程式赛车领域,两秒钟的差距就能决定比赛胜负。一次完美的进站,需要极致精准的协同配合 —— 从换胎到放行,每个动作都堪称瞬间完成。但这种级别的精准,绝非仅凭人类直觉就能实现。 阿斯顿・马丁一级方程式车队(Aston Martin Aramco Formula One™ Team)流畅进站节奏的背后,是一套基于 Arm 技术构建的智能网络。它在赛车进站前为工程师提供支持,进站过程中处理实时数据,进站结束后优化性能表现。2026 年,新一代混合动力系统、更智能的能量回收技术以及更严格的能效要求即将落地,该车队
[汽车电子]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved