CASL
CASL は1行に、ラベル、命令コード、オペランドの順に記述する。ラベルは記述しない場合もある。ラベルは3文字以内で、先頭は英大文字、それ以外は英大文字または数字である。オペランドでアドレスを指定する際に数値の代わりにラベルを記述できる。
CASL には次の擬似命令がある。
GRの内容と有効アドレスの内容を加算し、結果をGRに格納する。このとき、FRの設定も行う。COMET IIの改訂後に、名称をADDAと改称している。
nで指定した10進数の数値を1ワードの2進数データとして格納する。ただし、n が算術データの範囲(-32768から32767まで)に無い場合は、下位16ビットが格納される。
2001年のCOMET II、CASL IIの改訂によってCASL COMETに比べていくつかの変更が行われている。具体的には以下の通り、
ビットの数え方が変更されている。COMETでは最上位ビットを0番、最下位ビットを15番としていたが、COMET IIでは最上位ビットが15番、最下位ビットが0番である。
GRの数がGR0からGR7までに拡張されている。
スタックポインタ専用のレジスタ SPが追加されている。これにより、スタックポインタとGR4の関係が無くなった。
FRが3ビットに変更される。最上位ビットにあたる部分が算術命令等で算術オーバーフローが発生した場合は1、それ以外が0が格納されるフラグとして追加される。
ADD、SUBがそれぞれADDA、SUBAという名称に変更される。
EORがXORという名称に変更される。
JMPがJUMPという名称に変更される。
レジスタ同士の演算が可能になった。具体的には "命令 GR1, GR2"という書き方で有効アドレスではなく GR2の内容から演算を行う。この書き方が採用された命令は以下の通り。 LD ADDA(ADD) SUBA(SUB) AND OR XOR(EOR) CPA CPL
LD 命令の実行後 FRが設定されるようになる。
COMETのLEAとJPZ命令、CASLのEXIT命令が廃止される。
COMET II、CASL II共に追加された命令がある。
COMET IIに追加された命令は以下の通り
GRの内容と有効アドレスの内容の論理和をGRに格納する。このとき、FRの設定も行う。