GNUアセンブラ

GNUアセンブラ（グヌーアセンブラ、; GAS) はGNUプロジェクトで使用されるアセンブラである。GNUコンパイラコレクションのデフォルトバックエンドとして働き、GNUオペレーティングシステムやLinuxのコンパイルにも使われる。Ver.2.5以降はGNU Binutilsパッケージの一部分である。

Gasの実行ファイル名はasであり、Unix系システムの同名のアセンブラの替わりになる。Gasはクロスプラットフォームであり、様々なコンピュータ・アーキテクチャ上で動き、またそれらを対象にアセンブルすることができる。GNU General Public Licenseでライセンスされたフリーソフトウェアである。

一般的な構文 
Gasはサポートするアーキテクチャすべてで使用可能な一般構文を持つ。一般構文にはアセンブラ・ディレクティブやコメントも含まれる。

アセンブラ・ディレクティブ 
Gasはピリオドではじまるキーワードを使用した、Cのプリプロセッサに似たアセンブラ・ディレクティブ（別名：擬似命令）を使用する。ほとんどのアセンブラ・ディレクティブはすべてのアーキテクチャ対象に使用できるが、一部機種依存のものもある。

コメント 
Gasは、Cと同様の「/*」「*/」で囲まれる複行コメントを実装している。

例：
<nowiki>
    movl %eax,%edx /* ここはコメント
                      改行の入った
                      説明文 */
</nowiki>
Gasは「#」を単行コメントとして使用する。

例：
<nowiki>
    pop  %edx # ここはコメント
# ここもコメント
    movl %edx,%eax
</nowiki>

記法 
批判の一つに、x86やx86-64といったアーキテクチャ上で一般的なインテル記法ではなく、AT&T記法を使用することが挙げられる。mov などの命令の引数の順番が逆になっている。

しかし、ヴァージョン2.10から追加された.intel_syntaxディレクティブにより、インテル記法もサポートされた。

出典

関連項目 

 GNUツールチェーン

外部リンク 

Binutils homepage
Gas manual

アセンブラ
GNUプロジェクト
UNIXのソフトウェア
オープンソースソフトウェア