set1, clr1, not1, tst1


-

デバイスのset1,clr1,not1,tst1命令は,次の形式です。

-

set1 bit#3, disp16 [reg1]

-

clr1 bit#3, disp16 [reg1]

-

not1 bit#3, disp16 [reg1]

-

tst1 bit#3, disp16 [reg1]

-

set1 reg2, [reg1]

-

clr1 reg2, [reg1]

-

not1 reg2, [reg1]

-

tst1 reg2, [reg1]

 

-

このうち,“op bit#3, disp16 [reg1]”の形式に対して,asrhでは次の解釈を行います。

-

disp16に次のものを指定した場合,アセンブラでは,命令展開が行われ,複数個の機械語命令が生成されます。

-

-32768〜+32767の範囲を越える絶対値式

set1    bit#3, disp[reg1]
movhi   HIGHW1(disp), reg1, r1
set1    bit#3, LOWW(disp)[r1]

-

#label,またはlabelを持つ相対値式,およびsdata/sbss属性セクションに定義を持たないラベルの$labelを持つ相対値式

set1      bit#3, disp[reg1]
movhi   HIGHW1(disp), reg1, r1
set1    bit#3, LOWW(disp)[r1]

-

dispを省略した場合,0が指定されたものとみなされます。

-

dispに#labelを持つ相対値式,または#labelを持つ相対値式にLOWWを適用したものを指定した場合,その後ろの[reg1]の部分が省略できます。その場合,[r0]が指定されたものとみなされます。

-

dispに$labelを持つ相対値式,または$labelを持つ相対値式にLOWWを適用したものを指定した場合,その後ろの[reg1]の部分が省略できます。その場合,[gp]が指定されたものとみなされます。

-

dispに%labelを持つ相対値式,または%labelを持つ相対値式にLOWWを適用したものを指定した場合,その後ろの[reg1]の部分を省略できます。その場合,[ep]が指定されたものとみなされます。