アセンブラ 【assembler】
概要
アセンブラ(assembler)とは、アセンブリ言語で記述されたコンピュータプログラム(ソースコード)を、コンピュータが直接解釈・実行できる機械語(マシン語)によるプログラム(オブジェクトコード)に変換するソフトウェア。アセンブリ言語は命令などの仕様が機械語と一対一に対応する低水準プログラミング言語で、コンピュータのCPU(マイクロプロセッサ)の挙動を開発者が直に指定して処理を記述することができる。アセンブラはアセンブリ言語で書かれたプログラムを機械語のコード列に変換するもので、この変換工程を「アセンブル」(assemble)という。命令語をCPUの命令コードに置き換えたり、マクロを展開して命令列に置き換えたり、シンボル名を実際の値やメモリアドレスに置き換えたりといった操作を行なう。
一方、機械語との対応関係のない高水準プログラミング言語で書かれたプログラムを機械語に一括変換するソフトウェアは「コンパイラ」(complier)、機械語への変換と実行を並行して進めるソフトウェアは「インタプリタ」(interpreter)という。コンパイラの中には、高水準言語のプログラムをアセンブリ言語の表現に置き換えてからアセンブラで機械語に変換するものも多くある。
なお、開発機とは異なる機種の機械語プログラムを生成するアセンブラを「クロスアセンブラ」(cross assembler)、機械語のプログラムをアセンブリ言語による表現に逆変換するソフトウェアを「逆アセンブラ」(disassembler)という。また、コンパイラの機能の一部として、高水準言語のプログラムの一部として記述されたアセンブリ言語のコードを機械語に変換するものもあり、「インラインアセンブラ」(inline assembler)と呼ばれる。
(2024.6.7更新)