`
soboer
  • 浏览: 1307492 次
文章分类
社区版块
存档分类
最新评论

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

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

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics