アセンブリとは

アセンブリ(assembly)とは、マシン語を人間に理解できる形で記述するプログラミング言語の一種である。

アセンブリはCなどに代表される高水準プログラムに対比される低水準言語のことである。典型的なアセンブリには、マシン語による一対一の関係があり、より機械に近い位置でやりとりするプログラムとなる。ただし、機械に近いといえども、アセンブリで書かれた記述は、プロセッサには理解できない。そのため、アセンブラで変換しなければなない。これは高水準のコンパイラと同様である。また、一対複数といった形になる場合もある。

コンピュータCPUが理解できるのはバイナリの二進数である。いわゆる「0」と「1」の世界のことを指す。これをバイナリコード機械語、マシン語、ネイティブコード、オブジェクトコードなどと呼ぶ。そして、CPUはプロセッサのことで、実際にはコンピュータではなく、このハードウェアが二進数を処理している。

アセンブリはよりマシン語に近い英単語や記号などを用いており、これをニーモニックという。その命令部分がオペコードであり、その命令の操作対象がオペランドとなる。オペコードは数学でいえば演算子、オペランドは数値となる。

アセンブリでは、このニーモニックと呼ばれている命令語で、プログラムを作っている。しかし、アセンブリは機械と一対一の関係であるため、それぞれのプロセッサに依存する。そのため、各プラットフォームにも依存するため、異なるコンピュータ間では同一のアセンブリを使えない。その反面、CPU状態を確認しながらプログラミングすることが可能。また、プログラムそのものの処理速度も高水準言語に比べて速くなる。

その他、アセンブリで記述したものをバイナリコードへ変換するソフトウェアをアセンブラと呼ぶ。そして変換することをアセンブルという。

尚、アセンブリはMicrosoft .NET Frameworkで使われるコンパイル済みのコード群を指すこともある。

アセンブリの意味を簡潔に説明すると

機械により近い位置で一対一のやりとりができる低水準言語のこと。