跳至內容

GNU組譯器

出自Taiwan Tongues 台語維基
這是此頁批准,以及是最近的修訂。

GNU 組譯器(英語:GNU assembler), 是由 GNU 計畫所使用的組譯器,一般號做gas,抑是講按呢會當執行檔名簡稱做as。伊是 GCC 的預設了後端。伊用於組譯 GNU 作業系統、Linux 核心以及其他各種軟體。伊是 GNU Binutils 包的一部份。

GAS 的可執行檔予人號名做 as,Unix 組譯器的標準名稱。GAS 是迒平台的,會當執行抑是講無仝的電腦系統結構編譯。GAS 依據 GNU 通用公眾授權條款第三版釋出,為自由軟體。

通用語法

GAS 支援適用所有支援架構的通用語法。通用語法包括組譯指令佮注釋方法。

指令

GAS 使用組譯器指令(嘛予人稱做偽操作), 𪜶做關鍵字指示開始一个時期,佮 C 語言內底的預處理指令表現相仝。雖然無論目標架構按怎,大多數咧用的組譯指令攏是有效的,毋過一寡指令猶原因為機器無仝爾無仝。

注釋

GAS 支援兩種注釋風格:

多行注釋:

佮 C 語言類似,以一對斜線-星號嘿開始和結束:

` ` ` / * 注神

  • /

` ` `

孤行注釋:

佇無仝款的架構中組譯的時陣,單行注釋有幾種無仝的格式。

  • # 以下平台中:i 三百八十六,x 八十六陵六十四,i 九百六十,六十八 HC 十一,六十八 HC 十二,VAX , V 八仔五,m 三十二 r,M 八百八十 x 零。
  • ; 以下平台中:AMD 二十九 k family,ARC,H 三百分之八 family,HPPA , PDP 鋪十一,picoJava,Motorola,PowerPC。
  • @ 用佇咧 ARM 平台。
  • | 用佇咧六百八十 x 零平台。
  • ! 用佇咧 Renesas SH 平台。

用法

當做流行編譯器套件 GCC 的後端,GNU 組譯器佇咧編譯現代開源軟體內底喔有誠廣泛的應用。佇咧 Linux 系統上,GAS 定定用作佮其他 GNU 軟體結合的組譯器。因為乎 OS X , 修改過版本的 GAS 嘛會使佇麥金塔作業系統的開發工具包當中揣著。

範例程式

一个標準的「Hello , world !」程式,執行 Linux IA 鋪三十二:

批評

彼閣較慣勢 Intel 語法的人認為講,比其他的組譯器,佇咧 x 八十六佮 x 八十六鋪六十四平台頂攏無支援使用 Intel 語法就是一大敗筆。

毋過,自從二鋪一空版本,Intel 語法會當通過使用 ` . intel _ syntax ` 指令使用。

參見

  • GNU toolchain
  • 二進位檔案來講庫
  • 組譯器列表

參考文獻

外部連結

  • 官方網站
  • Gas 手冊
  • A comparison of GAS and NASM,佇佗位咧 IBM
  • ` as ` :  the portable GNU assembler –  參考,單一 UNIX® 規範第七期,由國際開放標準組織釋出