arm AAPCS(程序调用标准)
来源:互联网 发布:cellquest软件下载 编辑:程序博客网 时间:2024/06/14 06:25
ABI : Application Binary Interface 应用程序二进制接口
EABI : Embedded ABI 嵌入式ABI
PCS : Procedure Call Standard 程序调用标准
AAPCS : PCS for ARM Architecture ARM体系结构程序调用标准
APCS : ARM Procedure Call Standard ARM程序调用标准(已经废弃)
TPCS : Thumb Procedure Call Standard Thumb程序调用标准(已经废弃)
ATPCS : ARM-Thumb Procedure Call Standard
PIC, PID : Position-independent code, position-independent data 位置独立代码和数据
Activation(call-frame) stack : 程序调用记录栈
Activation record(call frame) : 用于程序保存寄存器和本地变量的内存(通常在栈上申请)
Variadic routine : 模板函数, 由调用程序决定它的参数个数和类型,而不是被调用函数.
Scratch register( temporary register) : 草稿寄存器, 用来保存计算的中间值(通常在程序中未命名且有限的生命周期).
Variable register : 变量寄存器, 用来保存变量的值, 通常用于程序的本地变量.
Program State : 程序状态, 程序的内存状态,包括寄存器的值
=========================================================
1. 在被调用程序(called)开始执行之前, 调用者(caller)负责创建一个程序状态 (一般是SP设置,以及参数传递)
2. 被调用程序保存调用者(caller)传递过来的程序状态
3. 被调用程序正确修改它的程序状态
一些相关的变种, 例如可以使用R9寄存器来检查执行环境.
AAPCS标准指出四个小节:
* 数据的布局
* 栈的布局 和 程序间公共接口的调用
* 处理器扩展的变化, 或者说执行环境限制地址模型
* C和C++语言数据类型的绑定
AAPCS 要求:
* 任何时间, 栈限制和基础栈对齐是可见的(stack limits and basic stack alignment are observed)
* 任何程序调用静态链接跳转时, 使用IP(r12)的规则是可见的
- arm AAPCS(程序调用标准)
- 03 arm程序调用标准(APCS)
- ARM 过程调用标准
- ARM 过程调用标准
- aapcs
- ARM-Thumb 过程调用标准
- ARM 过程调用标准[转]
- ARM-thumb 过程调用标准!
- ARM-Thumb 过程调用标准
- ARM-Thumb 过程调用标准
- APCS(ARM 过程调用标准)
- APCS (ARM 过程调用标准)
- APCS,ARM 过程调用标准(ARM)
- AAPCS关于ARM寄存器的定义
- ARM汇编编程的建议规则 AAPCS
- APCS 简介(ARM 过程调用标准)
- APCS 简介(ARM 过程调用标准)
- 理解APCS-- ARM过程调用标准
- Log4Net五步走
- 利用proj.net进行投影坐标变换(c#,北京54坐标)
- 根据路径获取文件的两种方式
- Javascript匿名函数
- 应用服务器一些问题解答
- arm AAPCS(程序调用标准)
- Android权限大全
- 15件事造就有理想的程序员
- Processor Architecture: CISC, RISC, VLIW
- 投影知识的认知
- 各种数据结构的特性
- C 存储指示器 (The storage class specifier)
- 数据库字段
- SVN插件新手安装使用