ARM-THUMB混合编程规范详解
需积分: 10 158 浏览量
更新于2024-11-30
收藏 165KB PDF 举报
"The ARM-THUMB Procedure Call Standard SWSESPC0002B-01"
这篇文档详细阐述了ARM和THUMB指令集的混合编程过程中的一种程序调用标准,即ATPCS(ARM-THUMB Procedure Call Standard)。ATPCS是针对C语言和汇编语言混合编程时的一套约定,旨在确保不同编译器产生的代码能够正确地互相调用,保持兼容性和可预测性。
1. 关于文档:
- **变更控制**:文档状态和预期变更的描述,以及变更历史记录,用于跟踪文档的更新和改进。
- **参考文献**:列出相关的重要参考资料,帮助读者深入理解标准的背景和依据。
- **术语和缩写**:定义了文档中使用的专业术语和缩写,以便于理解。
2. 范围:
- 指明了文档适用的范围,可能包括特定的处理器架构、操作系统或特定类型的软件开发。
3. 引言:
- **设计目标**:阐述了制定此标准的目的,可能包括提高代码效率、跨编译器兼容性和可维护性等。
- **一致性**:描述了如何确定代码是否符合该标准的要求。
- **过程、内存模型和堆栈**:解释了在混合编程环境中如何处理过程调用、内存分配和堆栈操作。
- **预条件和后条件**:在调用和被调用函数之间设定的必须满足的条件。
4. 基本标准:
- **机器寄存器**:定义了哪些寄存器用于存储临时数据,哪些是保留的,以及如何使用它们。
- **浮点寄存器**:如果支持浮点运算,说明了如何传递和存储浮点参数和返回值。
- **子程序调用**:详细说明了调用子程序时寄存器和堆栈的管理,包括返回地址的保存和恢复。
- **参数传递**:规定了如何将参数从调用者传递到被调用者,包括固定数量和可变数量参数的处理方式。
5. 变量数量:
- 可能进一步详细说明在参数传递中如何处理变量数量的参数列表,可能涉及到动态内存分配或寄存器堆栈的使用。
这个标准对于理解如何在ARM和THUMB架构上混合使用C和汇编语言编写高效且兼容的代码至关重要,它定义了清晰的规则,使得开发者可以编写出相互之间可以正确交互的函数和子程序。遵循ATPCS,开发者可以确保其代码在不同的环境和编译器下都能够正确运行,提高了软件的可移植性和可靠性。
2011-06-24 上传
2021-09-19 上传
2009-04-19 上传
2021-10-10 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-07-05 上传
nashzh
- 粉丝: 10
- 资源: 6
最新资源
- Angular实现MarcHayek简历展示应用教程
- Crossbow Spot最新更新 - 获取Chrome扩展新闻
- 量子管道网络优化与Python实现
- Debian系统中APT缓存维护工具的使用方法与实践
- Python模块AccessControl的Windows64位安装文件介绍
- 掌握最新*** Fisher资讯,使用Google Chrome扩展
- Ember应用程序开发流程与环境配置指南
- EZPCOpenSDK_v5.1.2_build***版本更新详情
- Postcode-Finder:利用JavaScript和Google Geocode API实现
- AWS商业交易监控器:航线行为分析与营销策略制定
- AccessControl-4.0b6压缩包详细使用教程
- Python编程实践与技巧汇总
- 使用Sikuli和Python打造颜色求解器项目
- .Net基础视频教程:掌握GDI绘图技术
- 深入理解数据结构与JavaScript实践项目
- 双子座在线裁判系统:提高编程竞赛效率