ARM汇编程序设计之:ARM汇编编译器的使用
编命令,可使汇编器输出所有可用选项类别。 armasm–help 为了使不同编译器编译的程序之间能够相互调用,必须为子程序间的调用规定一定的规则。AAPCS就是这样一个标准。所谓AAPCS,其英文全称为ProcedureCallStandardfortheARMArchitecture(AAPCS),即ARM体系结构过程调用标准。它是ABI(ApplicationBinaryInterface(ABI)fortheARMArchitecture(basestandard)[BSABI])标准的一部分。 可以使用“--apcs”选项告诉编译器将源代码编译成符号AAPCS调用标准的目标代码。 注意 使用“--apcs”选项并不影响代码的产生,编译器只是在各段中放置相应的属性,标识用户选定的AAPCS属性。 与AAPCS相关的编译/汇编选项有以下几种。 ·none:指定输入文件不使用AAPCS规则。 ·/interwork:指定输入文件符合ARM/Thumb交互标准。 ·/nointerwork:指定输入文件不能使用ARM/Thumb交互。这是编译器默认选项。 ·/ropi:指定输入文件是位置无关只读文件。 ·/noropi:指定输入文件是非位置无关只读文件。这是编译器默认选项。 ·/pic:同/ropi。 ·/nopic:同/noropi。 ·/rwpi:指定输入文件是位置无关可读可写文件。 ·/norwpi:指定输入文件是非位置无关可读可写文件。 ·/pid:同/rwpi。 ·/nopid:同/norwpi。 ·/fpic:指定输入文件编译成位置无关只读代码。代码中地址是FPIC地址。 ·/swstackcheck:编译过程中对输入文件使用堆栈检测。 ·/noswstackcheck:编译过程中对输入文件不使用堆栈检测。这是编译器默认选项。 ·/swstna:如果汇编程序对于是否进行数据栈检查无所谓,而与该汇编程序连接的其他程序指定了选项/swst或选项/noswst,这时该汇编程序使用选项/swstna。 “--fpmodemodel”选项指定所选的浮点模式。可使用的浮点模式有以下几种。 ·ieee_full:所有的浮点操作符号IEEE标准,其中包括单精度浮点操作和双精度浮点操作。浮点模式可以在使用时动态选择。使用该选项,编译器将使用下面的预定义符号。 __FP_IEEE; __FP_FENV_EXCEPTIONS; __FP_FENV_ROUNDING; __FP_INEXACT_EXCEPTION。 ·ieee_fixed:符合IEEE标准的浮点运算异常处理规则。使用该选项,编译器将使用下面的预定义符号。 __FP_IEEE; __FP_FENV_EXCEPTIONS。 ·ieee_no_fenv:和JAVA兼容的浮点运算算法选择。预定义的符号为__FP_IEEE。 ·std:和C和C++兼容的浮点运算算法选择。这是编译器默认选项。 ·fast:快速浮点运算选项。使用该选项将影响浮点运算的精度。 使用“--cpuname”选项为目标程序使用的CPU命名。其中name的取值为4T、5TE或6T2。编译器的默认值为ARM7TDMI。 下面的选项使编译器列出所有当前可使用的CPU名。 armasm--cpulist 选项“--FPU”指定所使用的浮点运算单元的结构。10.4.2过程调用标准AAPCS
10.4.3浮点模式选项
10.4.4为CPU命名选项
10.4.5为FPU命名选项
ARM 汇编程序 汇编编译器 armasm 交叉编译器 相关文章:
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于ARM体系的嵌入式系统BSP的程序设计方案(04-11)
- 在Ubuntu上建立Arm Linux 开发环境(04-23)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- SQLite嵌入式数据库系统的研究与实现(02-20)
- 革新2410D开发板试用手记(04-21)