历史上的今天
返回首页

历史上的今天

今天是:2025年03月30日(星期日)

正在发生

2020年03月30日 | ARM裸机程序开发17(堆栈寻址)

2020-03-30 来源:eefocus

堆栈是一种数据结构,按先进后出的方式工作。使用一个称作堆栈指针的专用寄存器指示当前的操作位置,堆栈指针总是指向栈顶


当堆栈指针指向最后压入堆栈的数据时,称为满堆栈,而当堆栈指针指向下一个将要放入数据的空位置时,称为空堆栈


同时又根据堆栈的生成方式,又可分为递增堆栈和递减堆栈,当堆栈由低地址像高地址生成时,称为递增堆栈。当堆栈由高地址向低地址生成时,称为递减堆栈。这样就有4中堆栈的工作方式。


◎ Full descending 满递减堆栈——FD 堆栈首部是高地址,堆栈向低地址增长。栈指针总是指向堆栈最后一个元素(最后一个元素是最后压入的数据)。 ARM-Thumb过程调用标准和ARM、Thumb C/C++ 编译器总是使用Full descending 类型堆栈。


◎ Full ascending 满递增堆栈——FA 堆栈首部是低地址,堆栈向高地址增长。栈指针总是指向堆栈最后一个元素(最后一个元素是最后压入的数据)。


◎ Empty descending 空递减堆栈——ED 堆栈首部是高地址,堆栈向低地址增长。栈指针总是指向下一个将要放入数据的空位置。


◎ Empty ascending 空递增堆栈——EA 堆栈首部是低地址,堆栈向高地址增长。栈指针总是指向下一个将要放入数据的空位置。


在ARM中,一般是满堆栈,堆栈生长方向是从上向下递减的(51相反为递增),在操作系统的一直过程中,与CPU相关部分的一直肯定会涉及到堆栈生长方向的定义。


arm堆栈的组织结构是 满栈降 的形式,满栈即sp是要停留在最后一个进栈元素,降:就是堆栈的增长方向是从高地址向低地址发展

推荐阅读

史海拾趣

Catalyst公司的发展小趣事

Catalyst公司深知品质是企业生存和发展的根本。因此,公司始终将品质管理放在首位,从原材料采购到生产加工、产品检验等各个环节都进行严格把控。公司还建立了完善的售后服务体系,确保客户在使用过程中能够得到及时、专业的技术支持。这些举措不仅提升了Catalyst产品的品质水平,也赢得了客户的信任和好评。

Glorious Sources Co Ltd公司的发展小趣事
确保电路具有稳定的电源供应,以满足各元件的正常工作需求。
CBM_America_Corporation公司的发展小趣事

随着环保意识的提高,CBM_America_Corporation开始关注自身的社会责任和可持续发展。公司积极采用环保材料和生产工艺,减少了对环境的污染。同时,CBM还参与了多项公益事业,为社会做出了积极贡献。这些举措不仅提升了公司的社会形象,还吸引了更多消费者的关注和支持。在可持续发展的道路上,CBM不断前行,为电子行业的绿色发展树立了榜样。

这些故事虽然是虚构的,但它们反映了电子行业中公司可能经历的一些典型情况和挑战。您可以根据这些故事框架进行进一步的创作和修改,以适应您特定的需求和背景。

Anpec(茂达)公司的发展小趣事

Anpec(茂达电子)自1997年创立之初,就肩负着提升国内电源模拟设计环境、建立自主模拟及电源相关产业的使命。初期,公司规模虽小,但志向远大。面对国内外市场的激烈竞争,茂达电子凭借对技术的执着追求和对市场的敏锐洞察,逐步在模拟集成电路设计领域站稳脚跟。

Galaxy Semi-Conductor Co Ltd公司的发展小趣事

山西飞虹激光科技有限公司于2010年在中国山西成立,并迅速在北京设立分公司,将北京作为战略重心,拓展全国市场。仅两个月后,飞虹激光的研发&生产中心便设立并投入生产,展现了公司的强大执行力和决心。2012年,飞虹激光积极参与国际展会,如慕尼黑上海光博会,展示了其F3015激光切割机、激光熔覆系统等高端产品,不仅提升了公司知名度,也彰显了其在激光技术领域的专业水平和创新能力。

HN Electronic Components GmbH & Co Kg公司的发展小趣事

背景:2008年全球金融危机爆发,电子行业受到重创,市场需求大幅下降。

发展:面对严峻的市场环境,HN Electronics迅速调整战略,削减非核心业务,加强成本控制,并加大在研发领域的投入,以技术创新为突破口,寻找新的增长点。

关键事件:在金融危机期间,HN Electronics成功开发出具有更高性价比的物联网传感器芯片,满足了市场对智能家居、智慧城市等新兴领域的需求,从而实现了业绩的稳步增长。

问答坊 | AI 解惑

新一代品圆划片技木

l 传统划片技术所面临的难题 随着向轻薄短小的发展趋势,IC的封装也起了很大的变化.如记忆体IC,已由早期的单一chip变成多层chip堆栈的封装,一颗IC里叠了7、8层芯粒(chip),韩国三星半导体今年稍早更公开展示了其超薄晶圆的封装技术已达16层的堆 ...…

查看全部问答>

AMIC 2.4G无线收发芯片

台湾笙科电子AMIC的A7105 是一低成本适用于2.4G 无线 数据通信的收发IC,内含高灵敏度接收 器(-99dBm@250KBPS)及高效功率 放大器,很适合10-40米之内的无线 通信应用 。 A7105的相关参数可通过3/4线SPI设置,最大64字节FIFO,支持CRC(16CRR ...…

查看全部问答>

如何填充铜箔

在PCB设计中,如何填充铜箔的呀?哪位高手指点下了!先谢谢了!,期望中。 另外谁有PROTEL 99 的汉化包了!,全英文看不懂呀!痛苦中 [ 本帖最后由 ttdatazx 于 2009-10-10 16:32 编辑 ]…

查看全部问答>

任意波形发生器的发展趋势

任意波形发生器是在1975年开发成功的,从此,信号发生器产品增加了一个新品种。在任意波形发生器作为测量用信号激励源进入市场之前,为了产生非正弦波信号,已使用函数发生器提供三角波、斜波、方波和余弦波等几种特殊波形。声音和振动分析需要复杂 ...…

查看全部问答>

C 语言常见问题集

本帖最后由 paulhyde 于 2014-9-15 09:19 编辑 本文从英文 C–FAQ(2004 年 7 月 3 日修订版) 翻译而来。本文的中文版权为 朱群英和孙云所有。本文的内容可以自由用于个人目的,但是不可以未经许可出 版发行。英文版权为 SteveSummit所有,详情见 ...…

查看全部问答>

windows驱动开发

本人非计算机专业出身,从事嵌入式应用层软件开发,对软件开发个人觉的国内学C、C++、JAVA等很多,主要是由于这些方面的资料较多,可以通过自己的努力成才。而底层的驱动开发、linux等由于各种条件的局限,或者说国内的精英贡献的资料太少--譬如 ...…

查看全部问答>

文章隐藏的链接

如何设置隐藏的链接? 我的网站:http://www.zxpcb.net 因为转载别人的文章,可是里面有隐藏链接,哪位大虾能告诉我怎么去掉这个隐藏的链接?呵呵顺便告诉我如何设置隐藏的链接…

查看全部问答>

eWeek评今年十大失败科技产品

美国知名IT杂志《eWeek》网站评选出了2010年的10大失败科技产品,其中塞班操作系统居于首位。      1、塞班移动操作系统   诺基亚的塞班移动操作系统已经失去大量市场份额。      2、黑莓操作系统   RIM在移动市 ...…

查看全部问答>

【低功耗】Altera发布具有安全特性的低功耗新系列Cyclone III LS FPGA

继续扩大在低功耗解决方案上的领先优势,Altera公司今天发布了具有安全特性的低功耗新系列FPGA。新的Altera Cyclone III LS FPGA在单位面积电路板上具有密度最大的逻辑、存储器和DSP资源。这些器件是功耗最低的FPGA,200K逻辑单元(LE)的静态功耗小 ...…

查看全部问答>