ARM体系结构与编程(第2版)第6章探索.ppt

ATPCS即ARM-THUMB?procedure?call?standard的简称。???? PCS规定了应用程序的函数可以如何分开地写,分开地编译,最后将它们连接在一起,所以它实际上定义了一套有关过程(函数)调用者与被调用者之间的协议。 为了使单独编译的C语言程序和汇编程序之间能够相互调用,必须为子程序间的调用制定一定的规则。ATPCS就是ARM程序和Thumb程序中子程序调用的基本规则。 * 6.1 ATPCS概述 ATPCS规定了一些子程序间调用的基本规则。这些基本规则包括子程序调用过程中寄存器的使用规则、数据栈的使用规则、参数的传递规则。为适应一些特定的需要,对这些基本的调用规则进行一些修改,得到几种不同的子程序调用规则。这些特定的调用规则包括: 支持数据栈限制检查的ATPCS。 支持只读段位置无关(ROPI)的ATPCS。 支持可读写段位置无关(RWPI)的ATPCS。 支持ARM程序和Thumb程序混合使用的ATPCS。 处理浮点运算的ATPCS。 * 6.1 ATPCS概述 使用ADS的C语言编译器编译的C语言子程序满足用户指定的ATPCS类型。而对于汇编语言程序来说,完全要依赖用户来保证各子程序满足选定的ATPCS类型。具体来说,汇编语言子程序必须满足下面3个条件: 在子程序编写时必须遵守相应的ATPCS规则。 数

文档评论(0)

1亿VIP精品文档

相关文档