Subsections

1 命令の種類

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

1.1 アセンブラ命令

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

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

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

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

1.2 機械語命令

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

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

CASL IIには,以下の28個の機械語命令(教科書のP.203)があり,そんなに多くない.

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

1.3 マクロ命令

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

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

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



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


ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
2006-02-08


no counter