これまでの講義で,アセンブラ命令と機械語命令の学習を終えた.最後に残ったマクロ命
令をここで学習する(教科書 [
1]のp.83〜p.86).その前に,CASL IIの命令について,再度,見直しておく.
アセンブラ命令        
 教科書では,非実行文と書かれているものである.アセンブラーと
 いう変換プログラムに対して,いろいろな指示を行う命令である.プログラム実行時には,
 COMET IIのCPUの動作の指示は行う命令ではない.したがって,この命令は機械語に変換
 されて特定のビットパターン(1と0の組み合わせ)に変換されることはない.
 
|  | START | プログラムの先頭を定義 | 
|  |  | プログラムの実行開始番地を定義 | 
|  |  | 他のプログラムで参照する入口名を定義 | 
|  | END | プログラムの終わりを明示 | 
|  | DC | 定数を定義 | 
|  | DS | 領域を確保 | 
 ただし,DC命令は,それに引き続く値にビットパターンに変換される.
 DS命令はビットパターンに変換されないが,必要な領域を確保する.こ
 の2つは,FORTRANの変数宣言と同じような働きをする.実際のプログラムでは,
 データの値を定義することに使われる.
機械語命令        
 COMET IIのCPUに動作の指示を行う.そのため,この命令に対応した論理回路が,CPUの
 中に組み込まれている.これら命令は,アセンブラーにより特定のビットパターンの機械
 語に変換され,そのパターンに従い,論理回路が動作する.実行時には,そのビットパター
 ンが主記憶装置に格納されている.
 
|  | LD, ST, LAD | データの移動 | 
|  | ADDA, SUBA, ADDL, SUBL | 加算・減算演算 | 
|  | AND, OR, XOR | 論理演算 | 
|  | CPA, CPL | 比較演算 | 
|  | SLA, SRA, SLL, SRL | シフト演算 | 
|  | JPL, JMI, JNZ, JZE, JOV, JUMP | 分岐処理 | 
|  | PUSH, POP | スタック操作 | 
|  | CALL, RET | サブルーチンの呼び出しと戻り | 
|  | SVC, NOP | その他 | 
マクロ命令        
 マクロ命令とは,特定の機能を果たす,いくつかの機械語命令の集まりに名前を付けたも
 のである.この名前を指定するだけで,これらの命令の集まりが実行できる.これにより,
 頻繁に使われる定形的な命令群をマクロ命令にすることにより,同じようなプログラムを
 いちいち書くことを省くことができ,便利である.多くの命令から構成されるため,アセ
 ンブラーにより変換されるビットパターンは非常に多くなる.
 
|  | IN | 入力装置(キーボード)から,文字データを読み込む | 
|  | OUT | 出力装置(ディスプレイ)に,文字データを書き込む | 
|  | RPUSH | 汎用レジスターの内容を,GR1, GR2,  , GR7の順でスタッ
  クに格納 | 
|  | RPOP | スタックの内容をGR7, GR6,  ,GR1の順で汎用レジ
  スターに格納 | 
ホームページ: 
Yamamoto's laboratory著者: 
山本昌志
Yamamoto Masashi 
2006-02-08