ARM汇编和Gnu汇编的转换

本文详细介绍了将ARM ADS汇编代码移植到GCC for ARM编译器的具体规则,包括注释、宏定义、条件编译等方面的转换方法。


ARM ADS 下的汇编码移植到 GCC for ARM 编译器时,有如下规则:
1,
注释行以 "@" "/* ... */" 代替 ";"

2, GET
INCLUDE => .INCLUDE
如: get option.a => .include "option.a"

3, EQU => .equ
TCLK2 EQU PB25 => .equ TCLK2, PB25
SETA ==> .equ
SETL ==> .equ
BUSWIDTH SETA 16 => .equ BUSWIDTH, 16

4, EXPORT => .global
IMPORT => .extern
GBLL => .global
GBLA => .global

5, DCD => .long

6, IF :DEF: => .IFDEF
ELSE => .ELSE
ENDIF => .ENDIF
:OR: => |
:SHL: => <<

7, END =>.end
NOTE:
在被 include 的头文件中,如 "option.a" 中,不再需要 .end ,否则会导致主汇编程序结束。

8,
符号定义加 " "

Entry => Entry:
AREA Word, CODE, READONLY ==> .text
AREA Block, DATA, READWRITE ==> .data
CODE32 ==> .arm
CODE16 ==> .thumb

9, MACRO ==> .macro
MEND ==> .endm

Reference:
http://blog.21ic.com/user1/3858/archives/2007/43113.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值