コンピュータ(のプロセッサ)が直接的に解釈・実行できるのは機械語(マシン語)だけです。しかし、機械語の命令は、0 と 1 の並びだけで表現されており、人間が読み書きすることは困難です。
アセンブリ言語は、機械語の命令の種類をあらわす番号(オペコード)に対応させる形で、名前付きの命令(ニーモニック)を定義しており、人間でも読み書きしやすいようになっています。しかし、アセンブリ言語は低級言語であり、開発の効率はよくありません。
命令が対応しているとはいえ、アセンブリ言語もコンピュータが直接的には解釈・実行することはできず、機械語に変換しなければなりません。アセンブリ言語を機械語に変換することをアセンブルといい、アセンブラというソフトウェアによって行います。
言語名としてアセンブラと呼ぶことがありますが、アセンブラは、アセンブリ言語をアセンブルするソフトウェアのことを指す用語なので、正しいとは言いがたい表現です。
機械語の命令は、プロセッサの種類によって異なります。アセンブリ言語は、それらの命令と1対1で対応する命令を定義しているので、アセンブリ言語の仕様はターゲットのプロセッサの種類によって異なります。そのため、アセンブリ言語で書いたプログラムには移植性がありません。
また、オペコードに対応したニーモニックだけでなく、マクロ機能や、アセンブラに対して与える疑似命令を持つものもあります。
アセンブリ言語の主な使用用途は、ハードウェアの機能を直接操作することです。また、プロセッサの仕様に直結したコードを記述できるため、非常に実行効率が良いプログラムを実現できる利点があり、速度が要求される場面でだけ限定的に使用することがあります。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |