アセンブリ言語
ナビゲーションに移動
検索に移動
アセンブリ言語(英:Assembly language)は、機械語を少し分かりやすくした言語。より正確に言えば、ビット列に対応する文字列命令(ニーモニック)を利用する低水準言語である。
概要[編集]
- 2進数の機械語は16進数で表現されたりはするが、人間にとってビット列は直観的に理解しづらく、機械語コーディングは困難であるという欠点がある。
- それを解決するために、機械語を少し分かりやすく表現した言語がアセンブリ言語である。
- 低水準言語で書かれたプログラムはアセンブルを行うアセンブラにより、機械語に変換される。具体的には、アセンブラが、ニーモニックをオペコードに変換し、シンボル名をメモリ位置や他の実体に変換する。アセンブリ言語から機械語への変換をアセンブルという。
- アセンブルは比較的単純な規則からなるため、人の手でも実行でき、これは「ハンドアセンブル」と呼ばれる。
- ハードウェアの性能を最大限発揮できるが、大規模なプログラムを組むのはかなり辛い。
- 記述を間違えると書き換えてはいけないメモリ領域を上書きしてしまい、正常な動作に支障をきたすような事もできたりするため、案外扱いが難しかったりもする。
その他[編集]
これは1編集者の私見。(編集者:User:早朝の掃除屋さん)
「アセンブラ」は「組立工」の意である。
もともとは2進数の機械語(マシンコードあるいはバイナリーコード)をトグルスイッチで入力していたが、のちにキーボードが誕生するに至って16進数で表現されるようになった。
「記憶の神」であるムネモネスにあやかって「ニモニック」が生まれた。
とはいえ「ニモニックをマシンコードに変換するくらいはコンピューターにもできるだろう?」というので生まれたのがアセンブラである。
アセンブリ言語では大規模なプログラムを組むのはかなりツラいため、仮想マシンやブートストラップなどの手法が一般化した。