CASL IIには、次の4個のアセンブラ命令がある。
START | プログラムの先頭を定義 | |
プログラムの実行開始番地を定義 | ||
他のプログラムで参照する入口名を定義 | ||
END | プログラムの終わりを明示 | |
DC | 定数を定義 | |
DS | 領域を確保 |
実行時には、そのビットパターンが主記憶装置に格納されている。ビットパター ンへの変換は、以前の授業で説明したハンドアセンブラーと同じことをする。
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 | その他 |
多くの命令から構成されるため、アセンブラーにより変換されるビットパター ンは非常に多くなる。
CASL IIには、以下の4個のマクロ命令がある(教科書のP.203)。
IN | 入力装置(キーボード)から、文字データを読み込む | |
OUT | 出力装置(ディスプレイ)に、文字データを書き込む | |
RPUSH | 汎用レジスターの内容を、GR1, GR2, ,GR7の順でスタックに格納 | |
RPOP | スタックの内容をGR7, GR6, ,GR0の順で汎用レジスターに格納 |