Subsections
算術加算と減算は,データを16ビットの符号付整数として計算する.CASL II では加算と
減算の命令が用意されているが乗除算は無い.
命令語 |
ADDA:
ADD Arithmetic
(add:加える arithmetic:算術) |
役割 |
符号有り整数の加算を行う命令 |
書式と内容 |
|
|
|
|
|
label |
ADDA |
r1,r2 |
|
r1
r1+r2 |
label |
ADDA |
r,adr[,x] |
|
r
r+(adr+[x])の内容 |
|
|
|
|
|
|
FR |
計算結果に応じて,変化する. |
|
|
|
|
|
OF |
|
結果
-32768または32767
結果 |
結果が16ビットを超えたとき |
|
|
-32768
結果
32767 |
結果が16ビット以内 |
SF |
|
結果が負の場合 |
第15ビットが1 |
|
|
結果が正の場合 |
第15ビットが0 |
ZF |
|
結果がゼロの場合 |
全てのビットが0 |
|
|
結果がゼロ以外の場合 |
いずれかのビットが1 |
|
|
|
|
|
2個の16ビットの値を加算する命令である.16進数でも10進数でも正しく計算できる.た
だし符号付で計算を行うので,最上位の第15ビットは符号ビットを表し,2の補数で表現
される.
ADDA GR0,GR1 ;GR0←GR0+GR1
ADDA GR0,A ;GR0←GR0+(アドレスAの内容)
ADDA GR0,A,GR1 ;GR0←GR0+(アドレス[A+GR1]の内容)
ADDA GR0,=5 ;GR0←GR0+5
命令語 |
SUBA:
SUBtract Arithmetic
(subtract:引き算 arithmetic:算術) |
役割 |
符号有り整数の減算(引き算)を行う命令 |
書式と内容 |
|
|
|
|
|
label |
SUBA |
r1,r2 |
|
r1
r1-r2 |
label |
SUBA |
r,adr[,x] |
|
r
r-(adr+[x])の内容 |
|
|
|
|
|
|
FR |
計算結果に応じて,変化する. |
|
|
|
|
|
OF |
|
結果
-32768または32767
結果 |
結果が16ビットを超えたとき |
|
|
-32768
結果
32767 |
結果が16ビット以内 |
SF |
|
結果が負の場合 |
第15ビットが1 |
|
|
結果が正の場合 |
第15ビットが0 |
ZF |
|
結果がゼロの場合 |
全てのビットが0 |
|
|
結果がゼロ以外の場合 |
いづれかのビットが1 |
|
|
|
|
|
二つのデータの引き算を行う.その他は,加算命令と同じ.
SUBA GR0,GR1 ;GR0←GR0-GR1
SUBA GR0,A ;GR0←GR0-(アドレスAの内容)
SUBA GR0,A,GR1 ;GR0←GR0-(アドレス[A+GR1]の内容)
SUBA GR0,=5 ;GR0←GR0-5
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
2006-01-22