2 簡単なプログラム

命令が機械語に変換する方法を学習する。一般的なことは言わないで、実際の 例でそれを示すことにする。ここでの学習の例に用いるプログラムは、図 [*]のとおりである。このプログラムが行うことは、 だけである。FORTRANではC=3+5、C言語ではc=3+5;と 書けばすむことを、アセンブラではこのようにいろいろ書かなくてはならない。 理由は、後でわかるだろう。 =1

PGM START LD GR1,A ADDA GR1,B ST GR1,C RET A DC 3 B DC 5 C DS 1 END

このプログラムの動作を詳しく説明すると、以下のようになる。フローチャー トを図1に示す。これらが、ハードウェアーでどのように 実現されるか、授業で説明するので、良く理解してほしい。

機能 種類  
1 PGM START プログラムは、STARTから開始    
2 LD GR1,A Aの値をレジスタGR1に格納 命令  
3 ADDA GR1,B GR1とBの値を加算して、GR1に格納 命令  
4 ST GR1,C GR1の値をCに格納 命令  
5 RET 呼び出し元へ戻る 命令  
6 A DC 3 値(3)$ _{10}$を格納 データ  
7 B DC 5 値(3)$ _{10}$を格納 データ  
8 C DS 1 1ワード予約 データ  
9 END プログラムの終わりを示す    

図 1: プログラムとフローチャート
\includegraphics[keepaspectratio, scale=1.0]{figure/program.eps}

本日の授業は、コンピューターの動作ではなく、その命令がどのようにビット パターンに変換されるか学習することである。この簡単なプログラムの命令の 詳細は知らなくても良いから、命令もビットパターンに変換されることを理解 してほしい。


ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成16年9月7日


no counter