st23


データのストアを行います。(Store)

[指定形式]

-

st23.b reg2, disp23[reg1]

-

st23.h reg2, disp23[reg1]

-

st23.w reg2, disp23[reg1]

-

st23.dw reg2, disp23[reg1]

st23.dwはst.dwと書くこともできます。

 

disp23に指定できるものを,次に示します。

-

23ビット幅までの値を持つ絶対値式

-

相対値式

-

#labelをもつ相対値式でLOWWを適用したもの(st23.dw命令のみ)

[機能]

st23.b,st23.h,st23.w命令は,第1オペランドに指定したレジスタの下位1バイト分,下位1ハーフワード分,および1ワード分のデータを取り込み,第2オペランドに指定したアドレスにストアします。st23.dw命令は,第1オペランドに指定したレジスタのワード・データを下位32ビット,reg2+1のワード・データを上位32ビットとするダブルワード・データを,第2オペランドに指定したアドレスにストアします。

[詳細説明]

-

アセンブラでは,機械語命令のst命令が1つ生成されます。

機械語命令のst命令は,ディスプレースメントに-4194304〜+4194303(0xFFC00000〜0x3FFFFF)の範囲のイミーディエトをとります。

 

-

disp23を省略した場合,アセンブラでは,0を指定したものとみなされます。

-

disp23に絶対値式,!labelを持つ相対値式,#labelを持つ相対値式を指定した場合,その後ろの[reg1]の部分が省略できます。ただし,省略した場合,アセンブラでは,[r0]が指定されたものとみなされます。

-

disp23に$labelを持つ相対値式を指定した場合,その後ろの[reg1]の部分が省略できます。ただし,省略した場合,アセンブラでは,[gp]が指定されたものとみなされます。

-

disp23に%labelを持つ相対値式を指定した場合,その後ろの[reg1]の部分が省略できます。ただし,省略した場合,アセンブラでは,[ep]が指定されたものとみなされます。

[フラグ]

CY

OV

S

Z

SAT

[注意事項]

-

st23.h,およびst23.wのdisp23に2の倍数でない値を指定した場合,アセンブラでは,disp23に対して2でアライメントしたコードが生成され,次のメッセージが出力されます。

W0550019:オペランドに指定した値は2の倍数である必要があります。

 

-

st23.dw命令に対し,第1オペランドに奇数番号のレジスタを指定した場合,メッセージが出力されます。

W0550026 : 奇数番号の付いたレジスタ(reg)が指定されています。偶数番号の付いたレジスタ(reg-1)を指定したとして、アセンブルを続行します。