以前述べたように、プログラムは命令とデータから構成される。高級言語の場合、プログ
ラムの大部分は命令である。データは外部のファイルから呼び出すことが多いので、ソー
スプログラムには書かれないことが多い。というか、あちこちに書いて、どうなっている
のか分からないことも多い。それに対して、機械語やアセンブラのソースプログラムでは、
命令部とデータ部を明確にするのが良い。
アセンブラのプログラムを見る場合、まず最初に、どの部分が命令で、どの部分がデータ
かを見分けなくてはならない。また、命令部はメインルーチンとサブルーチンをも見分け
なくてはならない。これらを、見分けるのは簡単である。慣れればすぐにわかるが、大体
の目安は、以下のとおりである。
- メインルーチンは、START命令で指定されたアドレスからRET命令までである。
- サブルーチンは、メインルーチン同様START命令とRET命令で囲まれている。メイン
ルーチンと異なるのは、それがメインルーチンあるいは他のサブルーチンからCALL
命令で呼び出されていることである。ハードウェアーにとっては、メインルーチン
もサブルーチンも区別していないのである。
- データ部は、DCあるいはDS命令が書かれている行である。
プログラムを構成するこれらの3つの要素は、それぞれ一塊にかかれるのが普通である。
一塊に書かないようにもできるが、それは非常にわかりにくいプログラムとなり、絶対に
避けるべきである。少しでも経験のあるプログラマーならば、これらの要素は区別して分
かりやすく書いている。センスのない人ほど、複雑でわかりにくいプログラムを書く。
ソースプログラムを見たり書いたりする場合、メインルーチンとサブルーチン、データ部
に分ることから始めよ。
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成16年12月16日