アセンブリ言語



アセンブリ言語について

アセンブリ言語(assembly language)とは

アセンブリ言語とは、機械語(バイナリ)を直接記述するのではなく、ニーモニックと呼ばれる人間に理解しやすい形式の命令語でプログラムを記述する、低水準プログラミング言語です。コンピュータが直接解釈・実行できる言語(マシン語)と1対1に対応した言語を用いて記述するため、高級言語ではできないような詳細な処理制御が可能となります。

ただし、アセンブリ言語は、マイクロプロセッサの種類(命令セットの種類)に依存するため、高水準言語のような移植性はありません。


アセンブラ (assembler) とは

アセンブラとは、アセンブリ言語で記述されたソースコードを機械語に変換するプログラムのことです。

アセンブリ言語のソースコードを機械語プログラムに変換する事をアセンブル(assemble) すると言います。


ニーモニック (mnemonic)

ニーモニックとは、コンピュータが実行可能な機械語を人間が理解/記述しやすいように置き換えた、簡略記憶記号です。

アセンブリ言語のプログラムは、ニーモニックでコーディングし、アセンブラによって機械語に変換します。

ニーモニックはアセンブラによって機械語に変換されるため、「アセンブラコード」などとも呼ばれます。


構文について

アセンブリ言語の記述構文は、「AT&T形式」と「Intel形式」の2つが主流です。

仕様により構文が異なります。


アセンブリ言語一覧

gas(GNU Assembler)

gccに付属するx86向けアセンブラ。(GPLライセンス)

gccコマンドの「-S」オプションでの出力される記法。

AT&T構文。

文法についてはGASを参照下さい。


NASM(Netwide Assembler)

x86向けのアセンブラ。(LGPLライセンス)

a.out形式やELF形式など様々なフォーマットで出力可能。

Intel構文。

文法についてはNASMを参照下さい。


MASM (Microsoft Macro Assembler)

MicrosoftがMS-DOS上の開発のために製造したx86向けアセンブラ。

マクロと高水準なループ構造、プロシージャ呼び出しなどの構造化プログラミングをサポートしており、高級アセンブラとされている。

Intel構文。


TASM (Turbo Assembler)

Borlandが開発したMASMと互換性の高いx86向けアセンブラ。


BASE-60

Z80用アセンブラ


関連ページ



スポンサード リンク