4.比較演算命令
CASLでは比較命令はあくまでも比較演算を行うだけです。 |
|||
(1)CPA命令 算術比較をする命令 |
|||
記述方法 |
|||
ラベル |
CPA |
r,アドレス[,x] |
|
この命令は内部的に(r – アドレスの中身)という減算を行い、結果をフラグレジスタへ格納します。 減算命令との違いは結果が減算の値ではなく、減算をした結果が正なのか負なのか零なのかをフラグレジスタに格納するということです。 プログラム例. |
|||
PRG_CPA |
START |
|
|
|
LD |
GR0,DATA1 ;レジスタへデータを読み込む |
|
|
CPA |
GR0,DATA2 ;GR0へDATA2の中身を比較 |
|
|
RET |
;プログラム終了 |
|
DATA1 |
DC |
1 ;データを定義 |
|
DATA2 |
DC |
2 ;データを定義 |
|
|
END |
|
|
(2)CPL命令 論理比較をする命令 |
|||
記述方法 |
|||
ラベル |
CPL |
r,アドレス[,x] |
|
この命令は内部的に(r – アドレスの中身)という減算を行い、結果をフラグレジスタへ格納します。 減算命令との違いは結果が減算の値ではなく、減算をした結果が正なのか負なのか零なのかをフラグレジスタに格納するということです。 論理演算とはアドレスの中身を符号を取り扱わない数(正の数)として演算を行います。 プログラム例. |
|||
PRG_CPL |
START |
|
|
|
LD |
GR0,DATA1 ;レジスタへデータを読み込む |
|
|
CPA |
GR0,DATA2 ;GR0へDATA2の中身を比較 |
|
|
RET |
;プログラム終了 |
|
DATA1 |
DC |
1 ;データを定義 |
|
DATA2 |
DC |
2 ;データを定義 |
|
|
END |
|
|
PRG_CPA |
START |
|
|
|
LD |
GR0,DATA1 ;レジスタへデータを読み込む |
|
|
|
||
|
|
|
|