データのストアを行います。(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に指定できるものを,次に示します。
- | #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]が指定されたものとみなされます。 |
[フラグ]
[注意事項]
- | st23.h,およびst23.wのdisp23に2の倍数でない値を指定した場合,アセンブラでは,disp23に対して2でアライメントしたコードが生成され,次のメッセージが出力されます。 |
W0550019:オペランドに指定した値は2の倍数である必要があります。
|
- | st23.dw命令に対し,第1オペランドに奇数番号のレジスタを指定した場合,メッセージが出力されます。 |
W0550026 : 奇数番号の付いたレジスタ(reg)が指定されています。偶数番号の付いたレジスタ(reg-1)を指定したとして,アセンブルを続行します。
|