3 CASL IIの命令の種類

CASL IIの命令は、3種類ある。プログラムを書く場合、これらがどのよう になっているか、理解する必要がある。

命令の具体的な内容は、次回以降の授業で学習する。ここでは、簡単に概要を 述べる。

3.1 アセンブラ命令

教科書のP.28〜P.35で説明している非実行文と書かれているものである。アセ ンブラーという変換プログラムに対して、いろいろな指示を行う命令である。 COMET IIのCPUの動作の指示は行わない。したがって、この命令は機械語に変 換されて特定のビットパターン(1と0の組み合わせ)に変換されることはない。

CASL IIには、次の4個のアセンブラ命令がある。

  START プログラムの先頭を定義
    プログラムの実行開始番地を定義
    他のプログラムで参照する入口名を定義
  END プログラムの終わりを明示
  DC 領域を確保
  DS 定数を定義

ただし、DC命令は、それに引き続く値にビットパターンに変換される。 DS命令はビットパターンに変換されないが、必要な領域を確保する。こ の2つは、FORTRANの変数宣言と同じような働きをする。実際のプログラムでは、 データの値を定義することに使われる。

3.2 機械語命令

教科書のP.40〜P.82で説明している。この命令は、COMET IIのCCPUの動作の指 示を行う。そのため、この命令に対応した論理回路が、CPUの中に組み込まれ ている。これら命令は、アセンブラーにより特定のビットパターンの機械語に 変換され、そのパターンに従い、論理回路が動作する。

実行時には、そのビットパターンが主記憶装置に格納されている。ビットパター ンへの変換は、先々週の授業で説明したハンドアセンブラーと同じことをする。

CASL IIには、以下の28個の機械語命令がある(教科書のP.203)。

  LD, ST, LAD データの移動
  ADDA, SUBA 算術演算
  ADDL, SUBL, AND, OR, XOR 論理演算
  CPA, CPL 比較演算
  JPL, JMI, JNZ, JZE, JOV, JUMP 分岐処理
  PUSH, POP スタック操作
  CALL, RET サブルーチンへの移動と戻り
  SVC, NOP その他

3.3 マクロ命令

教科書のP.83〜P.86で説明している。マクロ命令とは、特定の機能を果たす、 いくつかの機械語命令の集まりに名前を付けたものである。この名前を指定す るだけで、これらの命令の集まりが実行できる。これにより、頻繁に使われる 定形的な命令群をマクロ命令にすることにより、同じようなプログラムをいち いち書くことを省くことができ、便利である。

多くの命令から構成されるため、アセンブラーにより変換されるビットパター ンは非常に多くなる。

CASL IIには、以下の4個のマクロ命令がある(教科書のP.203)。



  IN 入力装置(キーボード)から、文字データを読み込む
  OUT 出力装置(ディスプレイ)に、文字データを書き込む
  RPUSH 汎用レジスターの内容を、GR1, GR2, $ \cdots$,GR7の順でスタックに格納
  RPOP スタックの内容をGR7, GR6, $ \cdots$ ,GR0の順で汎用レジスターに格納


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


no counter