ARM汇编和Gnu汇编的转换

将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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值