※「セキュリティ保護のため...」というメッセージが出る方・日本語が入力できない方へ
アセンブラ


アセンブラは機械語を読みやすい記号で記述したものです。

コンピュータの黎明期には初め機械語で全てプログラムを書いていましたが、
やはり数字の羅列ではわけがわからないので、それを記号で記述し、使う時
にそれを機械語に変換することが考えられたのです。これがアセンブル言語
の誕生です。

アセンブル言語は最初の段階では人手で機械語に翻訳していましたが、すぐ
に翻訳するプログラムが作られました。一般にプログラムを機械語に翻訳す
るソフトのことをコンパイラといいますが、アセンブル言語を機械語に翻訳
するソフトだけはアセンブラといいます。またアセンブル言語自体もアセン
ブラと呼ばれます。

【初期のアセンブラ記述列】
       LOAD    ZERO
       STORE   GOKEI
       STORE   CNT
 YOMU: READ
       STORE   DATA
       XOR     STOPDATA
       IFZERO  OWARI
       ADD     GOKEI
       LOAD    ONE
       ADD     CNT
       STORE   CNT
       JUMP    YOMU
 OWARI:HALT

   ※READはコンピュータのパネルのデータスイッチから読みとる。
    結果はメモリの中身を直接読みとって得る。
    。。。といったのがこの時期のやり方である。

しかし、後にアセンブラにはマクロ機能というものが追加されます。これは
一連の決まり切った手順のパターンを登録し、それを利用して記述するもの
です。たとえば

    LOAD      A
    ADD       B
    STORE     C

といった記述を COMPADD C,A,B などといったマクロで定義するわけです。

このマクロ機能が加わったことにより、事実上自分で勝手に命令をどんどん
作ることができます。多数の便利なマクロをあらかじめ定義しておけば、ア
センブラはあたかも高級言語であるかのような記述の仕方ができるようにな
ります。しかも1970年頃と1980年代後半とではCPU自体が持っている命令
の数が全然違います。そのため、1980年代後半頃のアセンブラというのは、
1970年代のFORTRANなどより、よほど書きやすい言語になっていました。また
マクロ命令をうまく使うことにより、COBOL,FORTRAN,BASIC,C++よりもよほど
移植性の良い記述の仕方が可能になっていました。

『アセンブラはマシンに依存しているから移植性が無い』などというのは
アセンブラを知らない人の唱える迷信にすぎません。むろんまるで移植性の
無い記述の仕方も可能です。移植性がよいかどうかはそれを書いたプログラ
マの腕次第でしょう。

【1988年頃のアセンブラ記述列】

FStrComp    PROC  fblok:DWORD,nstr:WORD,len:WORD
            push  es
            cld
            mov   si,nstr
            les   di,fblok
            mov   cx,len
            repe  cmpsb
            mov   ax,cx
            pop   es
            ret
FStrComp    ENDP

現在ではアセンブラだけで全てのプログラムを記述することは特殊な分野を
のぞいてはなくなりつつありますが、C/C++の中にアセンブラの記述を
直接書けるようになっているため、Cでは書けない或いは書きにくい所だけ
をアセンブラで書くようになっています。

アセンブラはそういうわけで、最古かつ現在でも最強の開発言語です。



(C)copyright ffortune.net 1995-2007 produced by ffortune and Lumi.
お問い合わせはこちらから