アセンブリ言語
アセンブル(英: assemble)はアセンブリ言語で書かれたプログラムから機械語で書かれたオブジェクトコードへの変換である。具体的には、ニーモニックをオペコードに変換しシンボル名をメモリ位置や他の実体に変換する。
アセンブルは比較的単純な規則からなるため、人の手でも実行できる(ハンドアセンブル)。単純な作業を効率良くミス無く行うのはプログラムの得意分野であり、そのようなソフトウェアが開発された。このアセンブリをおこなうプログラムをアセンブラ(英: assembler)という。初期にはアセンブリプログラムとも呼ばれた。
シンボル名による参照の利用はアセンブラの重要な機能であり、面倒な計算やプログラム修正に伴うアドレスの更新の手間を省くことができる。。また、オブジェクトコードを生成する際、ローダ用情報も併せて生成するアセンブラもある。マクロを含むアセンブリ言語に対応している場合、処理系にはm4のような汎用プロセッサあるいはプロセッサ内蔵アセンブラ(マクロアセンブラ)が利用される。ポリモーフィズム、継承などをもつ高水準アセンブリ言語に対応したアセンブラは高水準アセンブラ(英語版)と呼ばれる。
動作プラットフォーム以外のターゲットプラットフォームを選択できるアセンブラはクロスアセンブラとも呼ばれる(参考: クロスコンパイラ)。メタアセンブラは、アセンブリ言語の文法や意味論を記述したものを入力とし、その言語のためのアセンブラを出力するプログラムである。
逆方向の変換、すなわちオブジェクトコードのアセンブリ言語化をおこなうプログラムを逆アセンブラという。