ワイヤレス MMX ロード/ストア命令

ワイヤレス MMX コプロセッサレジスタに対してバイト、ハーフワード、ワード、またはダブルワードのロード/ストアを実行します。

Show/hide構文

op<type>{cond} wRd, [Rn, #{-}offset]{!}
op<type>{cond} wRd, [Rn] {, #{-}offset}
opW{cond} wRd, label
opW wCd, [Rn, #{-}offset]{!}
opW wCd, [Rn] {, #{-}offset}
opD{cond} wRd, label
opD wRd, [Rn, {-}Rm {, LSL #imm4}]{!}     ; MMX2 のみ
opD wRd, [Rn], {-}Rm {, LSL #imm4}         ; MMX2 のみ

各パラメータには以下の意味があります。

op

次のいずれかを指定できます。

WLDR

ワイヤレス MMX レジスタをロードします。

WSTR

ワイヤレス MMX レジスタをストアします。

<type>

次のいずれかを指定できます。

B

バイト

H

ハーフワード

W

ワード

D

ダブルワード

cond

任意の条件コードを指定します。

wRd

ロードまたはストアを実行するワイヤレス MMX SIMD データレジスタを指定します。

wCd

ロードまたはストアを実行するワイヤレス MMX ステータスレジスタおよび制御レジスタを指定します。

Rn

メモリアドレスのベースとなるレジスタを指定します。

offset

イミディエートオフセットを指定します。オフセットを指定しなかった場合、その命令はゼロオフセット命令になります。

!

任意に指定できる接尾文字です。! が存在する場合、命令はプレインデクス命令になります。

label

PC 相対式を指定します。

label は現在の命令から +/- 1020 バイト以内に配置する必要があります。

Rm

オフセットとして使用される値を保持するレジスタを指定します。Rm に PC は指定できません。

imm4

Rm を左にシフトするビット数を 0 ~ 15 の範囲で保持します。

Show/hideSIMD レジスタへの定数のロード

アセンブラでは、WLDRW および WLDRD リテラルロード疑似命令もサポートします。以下に例を示します。

    WLDRW wr0, =0x114

以下の点に注意して下さい。

  • アセンブラでは、バイトおよびハーフワードリテラルをロードできません。これらをロードすると降格可能エラーが生成されます。ダウングレーされると、命令は WLDRW に変換され、32 ビットリテラルが生成されます。これはバイトリテラルのロードと同様ですが、32 ビットワードを使用する点が異なります。

  • ロードするリテラルがゼロで、デスティネーションが SIMD データレジスタである場合、命令は WZERO に変換されます。

  • 8 バイト整列ではないダブルワードロードは予測不能です。

Copyright © 2010-2011 ARM. All rights reserved.ARM DUI 0489FJ
Non-ConfidentialID111211