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
文章出處:http://www.diybl.com/course/6_system/linux/Linuxjs/200871/129550.html
留言列表