ルネサス
satsub
-
デバイスのsatsub命令は次の形式です。
SATSUB reg1, reg2
SATSUB reg1, reg2, reg3
asrhでは,上記に加えて,次の形式も指定できます。
satsub imm, reg2
“satsub imm, reg2”の形式でimmに次のもの,アセンブラでは,命令展開が行われ,1つ,または複数個の機械語命令が生成されます。
(a)
0
satsub 0, reg
satsub r0, reg
(b)
-32768〜+32767の範囲の絶対値式
satsub imm16, reg
satsubi imm16, reg, reg
(c)
-32768〜+32767の範囲を越える絶対値式
immの値の下位16ビットがすべて0の場合
satsub imm, reg
movhi HIGHW(imm), r0, r1
satsub r1, reg
上記以外の場合
mov imm, r1
(d)
!label,または%labelを持つ相対値式,およびdata/sbss属性セクションに定義を持つラベルの$labelを持つ相対値式
satsub !label, reg
satsubi !label, reg, reg
satsub %label, reg
satsubi %label, reg, reg
satsub $label, reg
satsubi $label, reg, reg
(e)
#label,またはlabelを持つ相対値式,およびsdata/sbss属性セクションに定義を持たないラベルの$labelを持つ相対値式
satsub #label, reg
mov #label, r1
satsub label, reg
mov label, r1
mov $label, r1