|
|
アセンブラ (assembler) |
アセンブラとは、「アセンブラ言語で書かれたプログラムを、機械語のプログラムに変換するプログラム」 です。
コンピュータのプログラムは、コンピュータが初めて作られて以来、しばらくの間は 「機械語」で書かれていました。
4 〜 50 年前のことです。
機械語は、コンピュータがそれを読み込んで、そのまま処理を進めることが出来るプログラムです。
下図の右が機械語プログラムの例ですが、まるで暗号のようです。
ここで、 0000, 0002, 0004, 0005, 0006 は、メモリのアドレスを表していて、
プログラムそのものは、 06, 0A, 3E, 00, 80, 05, 20, FC です。
これは、2進数の機械語プログラムを 16進数 で表したものですが、
このような機械語で直接プログラムを書くことは至難の業、だということは理解していただけるでしょう。
そこで作られたのが、アセンブラ言語です。
アセンブラ言語は機械語と1対1で対応していて、アセンブラ言語で書かれたプログラムは、
逐語訳のように機械語に翻訳されます。
そのため、やはりコンピュータのハードウェアに精通していないとプログラミングはできませんが、
"ADD" は加算であり、"LD" は LOAD の略だということを理解すれば、
機械語ほど難しくはありません。下図の左がアセンブラ言語で書かれたプログラムの例です。
こうして、アセンブラ言語で書かれたプログラムは、人には少し分かりやすくても、
コンピュータは全く理解できませんから、右の機械語に変換しなくてはなりません。
このためのプログラム、下図中央の 「矢印」 にあたる変換プログラムが 「アセンブラ」 です。
アセンブラ プログラム (ソースファイル) | (アセンブラ) |
機械語 プログラム (オブジェクトファイル) |
このページのプログラムは、Z80 という8ビットの CPU のためのものです。1 から 10 までの整数が 順次レジスタAに加算されるプログラムです。 実際の計算は、10 + 9 + 8 + ………+ 2 + 1 、という風におこなわれます。 詳しくは、アセンブラ言語 *J、 アセンブラプログラム などをご覧下さい。
2001.02.20 ueyama@infonet.co.jp