これまで、教科書の第5章の「CASL IIプログラム例」で学習した内容は、以下の通りであ
る。冬休み前にこれだけのことを学習したことを思い出して欲しい。
- 算術演算・論理演算
- 算術演算はただの加算と減算、論理演算はビット毎の論理
和と積と排他的論理和
- 条件分岐
- 比較とジャンプ命令により、実行する文を選択する
- マスク処理
- 特定のビットの内容を調べる
- アドレス修飾
- ラベルとインデックスレジスタでアクセスするメモリーのアドレ
スを決める
- シフト演算
- 上手に使えば、かけ算やわり算ができる
高級言語のプログラムは、
- 順次
- プログラムの命令は上から下へ実行される。
- 選択
- 制御式により実行される分が選択される。これは、FORTRANやC言語のif文の
ことである。
- 繰り返し
- ループあるいは反復とも呼ばれ、同じ命令を繰り返す。FORTRANではDO
文、C言語ではfor文などである。
の基本構造からなる。順次についてはいままで、気が付かないで使っていたもので、なに
も考えることはない。選択に関しては、例題[3]で示した条件分岐(比較+ジャンプ)である。
本日の例題[4]では、繰り返し文を学習する。
長いプログラムを、この基本構造だけでは作成することは不可能である。技術的には可能
であるが、何が書いてあるか全く分からないプログラムになってしまい。メンテナンスが
不可能である。そのため、プログラムを機能毎に細かく分割して、分かりやすくする方法
がとられる。この機能毎に分割されたプログラムをサブルーチンという。FORTRANでは、
SUBROUTINEとかFUNCTIONというものがそれに当たる。本日の2番目のテーマ
は、このサブルーチンをCASL IIで実装する方法をである。
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成17年1月26日