日本プログラミング物語

プログラミング技術を磨きながら愛国心を養うサイト

アセンブリ言語

アセンブリ言語は人間が理解できる機械語である

アセンブリ言語とは、機械語にニーモニックという人間が読める英単語を割り当てたものです。

前回作ったマシン語プログラムです。

3E 01 06 02 80

これをアセンブリ言語で表すと、次のようになります。

LD A,1; 箱Aに1を代入せよ。
LD B,2; 箱Bに2を代入せよ。
ADD B;  箱Aと箱Bを足し算し、結果を箱Aに代入せよ。
LD C,A; 箱Cに箱Aの中身をコピーせよ。

LDはLoad(積む、乗せる)の略です。
また、ADDは「加算する」という意味です。
これなら、人間にも読みやすいし、プログラムも作りやすくなります。

(コラム)
昔のCPUは、アセンブリ言語で書かれたプログラムはマシン語と一対一に対応していたので、アセンブリ言語のことをマシン語と呼ぶこともありました。

アセンブリ言語をマシン語に変換するプログラムのことを「アセンブラ」と呼びます。

CPUの違いは吸収されない

アセンブリ言語によってプログラミングはやりやすくなりましたが、結局機械語にわかりやすい名称(ニーモニック)を付けただけなので、単純なことしかできません。

また、機械語はCPU毎に違いがあるため、アセンブリ言語も異なります。
つまり、CPUの数だけアセンブリ言語があるというわけです。

これでは、あるCPU用に作ったプログラムを、別のCPUで動かすことはできません。
たとえCPUが同じであっても、コンピューターのシステム構成が変われば動きません。

そこで、CPUやマシン構成が変わっても同じプログラムが動かせるような仕組みが考え出されました。
それが、コンパイラ型言語です。


機械語 コンパイラ言語