ARM SDT下彙編到GNU彙編的轉換

2021-08-30 18:30:08 字數 636 閱讀 9835

將arm sdt下的彙編碼移植到gcc for arm編譯器時,經常要做如下修改:

1、注釋行以「@」或「」代替「;」

2、偽操作符替換:

include 替換成 .include

tclk2 equ pb25 替換成 .equ tclk2, pb25

export 替換成 .global

import 替換成 .extern

dcd 替換成 .long

if :def: 替換成 .ifdef

else 替換成 .else

endif 替換成 .endif

:or: 替換成 |

:shl: 替換成 <<

end 替換成 .end

符號定義加":"號

area word, code, readonly --> .text

area block, data, readwrite --> .data

code32 --> .arm

code16 --> .thumb

ltorg --> .ltorg

% --> .fill

3、運算元及運算符號替換

ldr pc, [pc, #&18] 替換成 ldr

ARM SDT下彙編到GNU彙編的轉換

將arm sdt下的彙編碼移植到gcc for arm編譯器時,經常要做如下修改 1 注釋行 以 或 代替 2 偽操作符替換 include 替換成 include tclk2 equ pb25 替換成 equ tclk2,pb25 export 替換成 global import 替換成 exte...

GNU內聯彙編

組合語言 gcc內聯彙編 gcc支援在c c 中嵌入彙編 這些 被稱作是 gcc inline asm gcc內聯彙編 一 基本內聯彙編 gcc中基本的內聯彙編非常易懂,格式如下 asm volatile instruction list 其中,1.asm 它是gcc定義的關鍵字asm的巨集定義 d...

GNU 內聯彙編

gnu的c編譯器使用asm關鍵字 asm段格式如下 asm assembly code 一些彙編器使用製表符字元縮排指令以便區分和標籤。gnu編譯器不需要這樣做,單為保持一致使用這樣方式。asm mov 1,eax n tmov 0,ebx n tint 0x80 這樣格式有些混亂,下面這樣方式書寫...