アセンブラ

更新日:

用語解説

アセンブラは、ニーモニック、ラベル、オペランド、疑似命令などで記述したアセンブリ言語の原始プログラムを、対象CPUの機械語を含む目的プログラムへ翻訳する言語処理プログラムです。

■ 試験で押さえるポイント

  • ADDやMOVなどのニーモニックを命令コードへ変換し、ラベルをアドレスへ対応付け、定数・領域確保などのアセンブラ指令を処理します。

  • 前方参照がある場合、1回目でラベルとアドレスの記号表を作り、2回目で命令を生成する2パス方式が典型ですが、実装方式は一つに限りません。

  • 出力は再配置可能なオブジェクトモジュールであることが多く、他モジュールの外部記号はリンカが解決します。アセンブルだけで常に実行可能になるとは限りません。

  • コンパイラが高水準言語を機械語又は中間表現へ翻訳するのに対し、アセンブラはCPU命令と対応の近い低水準言語を翻訳します。

■ 選択肢での判断ポイント

入力はアセンブリ言語、出力は機械語を含む目的プログラムです。複数目的モジュールの結合はリンカ、主記憶への配置はローダの役割です。

例: ラベルLOOPと分岐命令を含むソースをアセンブルすると、LOOPの位置を示す記号情報と分岐先アドレスを持つオブジェクトができます。外部関数printの参照は後でリンカが解決します。

音声で聞く

同じ分野の用語