ARM THUMB规程调用标准A-05与B-01对比详解
需积分: 11 71 浏览量
更新于2024-07-18
收藏 166KB PDF 举报
ARM THUMB程序调用标准(ARM ATPCS)是针对ARM和THUMB指令集的一系列程序调用规范,该标准自初始版本A-05(即ADS-1.0)发布以来,经过了多次修订,如B-01(ADS-1.1)。主要修订集中在参数传递的描述上,尽管A-05版本在大多数情况下可以无障碍实施,但B-01版通过更精确的规定来处理先前可能出现的困难情况。
该标准的主要目标包括与IEEE 754浮点运算标准的精确交互,以及对C、C++和Java等高级语言源代码实体与机器级别参数传递值之间的映射进行更明确的规定。这意味着开发者在编写跨平台代码时,需要了解标准如何处理不同类型的参数,尤其是在涉及浮点数据和函数调用时的内存管理。
ARM THUMB程序调用标准定义了调用过程的基本结构,包括使用哪些寄存器(如通用寄存器和可能的浮动点寄存器),以及如何在子程序调用时进行参数传递。对于参数传递,标准提供了两种主要方式:按值传递(value passing)和按引用传递(reference passing)。按值传递意味着参数的副本会被复制到栈帧中,而按引用传递则仅传递指针,由调用者负责管理实际数据。
在栈的使用上,标准规定了调用过程前后堆栈的状态,包括调用者和被调用者之间的内存分配。此外,标准还强调了预条件和后条件的重要性,即在调用前必须满足的条件和调用后期望的结果。
基础标准部分详细地介绍了机器寄存器的使用,特别是那些在程序调用过程中至关重要的寄存器,如程序计数器(PC)和链接寄存器(LR)。这部分内容对于理解程序控制流转移和异常处理至关重要。
ARM THUMB程序调用标准是软件开发人员在设计和实现ARM和THUMB架构下可移植程序时不可或缺的参考文档,它确保了代码的兼容性和性能优化,特别是在涉及跨平台接口和不同编程语言时。通过遵循该标准,开发者可以确保其代码能够正确地在各种硬件配置上运行,并能高效地处理各种数据类型和调用约定。
2015-09-19 上传
2023-04-21 上传
2016-08-02 上传
2018-07-06 上传
2012-06-28 上传
2013-10-15 上传
2012-02-03 上传
2020-10-19 上传
YYQSH
- 粉丝: 1
- 资源: 35
最新资源
- Java集合ArrayList实现字符串管理及效果展示
- 实现2D3D相机拾取射线的关键技术
- LiveLy-公寓管理门户:创新体验与技术实现
- 易语言打造的快捷禁止程序运行小工具
- Microgateway核心:实现配置和插件的主端口转发
- 掌握Java基本操作:增删查改入门代码详解
- Apache Tomcat 7.0.109 Windows版下载指南
- Qt实现文件系统浏览器界面设计与功能开发
- ReactJS新手实验:搭建与运行教程
- 探索生成艺术:几个月创意Processing实验
- Django框架下Cisco IOx平台实战开发案例源码解析
- 在Linux环境下配置Java版VTK开发环境
- 29街网上城市公司网站系统v1.0:企业建站全面解决方案
- WordPress CMB2插件的Suggest字段类型使用教程
- TCP协议实现的Java桌面聊天客户端应用
- ANR-WatchDog: 检测Android应用无响应并报告异常