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

2021-05-09 19:28:27 字數 833 閱讀 1700

將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 

「&」以「 0x」號替換

注:arm的編譯器裡[|

]表示if  ... else ... end

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

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

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 這樣格式有些混亂,下面這樣方式書寫...