將
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:
ARM SDT下彙編到GNU彙編的轉換
將arm sdt下的彙編碼移植到gcc for arm編譯器時,經常要做如下修改 1 注釋行 以 或 代替 2 偽操作符替換 include 替換成 include tclk2 equ pb25 替換成 equ tclk2,pb25 export 替換成 global import 替換成 exte...
ARM SDT下彙編到GNU彙編的轉換
將arm sdt下的彙編碼移植到gcc for arm編譯器時,經常要做如下修改 1 注釋行以 或 代替 2 偽操作符替換 include 替換成 include tclk2 equ pb25 替換成 equ tclk2,pb25 export 替換成 global import 替換成 exter...
ARM彙編和內嵌彙編
彙編指令 跳轉指令 b bl blxbx 資料處理指令 mov mvnadd adcsub rsbrsc andor eorbic cmncmp tstteq 狀態暫存器指令 mrs msrldr strldm stmmcr arm和協處理器之間資料交換 mrccond 可選的條件 rd 存放返回狀...