ARM彙編和Gnu彙編的轉換

2021-08-25 18:54:32 字數 1009 閱讀 5496

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 存放返回狀...