LDR と STR(非特権モード)

バイト、ハーフワード、またはワードを非特権モードでロードおよびストアします。

これらの命令が特権モードのソフトウェアで実行されると、非特権モードのソフトウェアで実行されたときと同じ制約条件でメモリにアクセスします。

これらの命令は、非特権モードのソフトウェアで実行されたとき、対応するロードまたはストア命令とまったく同様に動作します。例えば、LDRSBTLDRSB と同様に動作します。

Show/hide構文

op{type}T{cond} Rt, [Rn {, #offset}]       ; イミディエートオフセット(32 ビット T32 エンコーディングのみ)
op{type}T{cond} Rt, [Rn] {, #offset}       ; ポストインデクス(A32 のみ)
op{type}T{cond} Rt, [Rn], +/-Rm {, shift}  ; ポストインデクス(レジスタ)(A32 のみ)

各項目には以下の意味があります。

op

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

LDR

レジスタロード

STR

レジスタストア

type

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

B

符号なしバイト(ロード時に 32 ビットにゼロ拡張)

SB

符号付きバイト(LDR のみ。32 ビットに符号拡張)

H

符号なしハーフワード(ロード時に 32 ビットにゼロ拡張)

SH

符号付きハーフワード(LDR のみ。32 ビットに符号拡張)

-

省略(ワード)

cond

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

Rt

ロードまたはストアするレジスタを指定します。

Rn

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

offset

オフセットを指定します。オフセットを指定しなかった場合、アドレスは Rn 内の値になります。

Rm

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

shift

任意に指定できるシフトです。

Show/hideオフセットの範囲と使用可否

Table 12 はオフセットの範囲とこれらの命令の使用可否を示します。

Table 12. オフセットと使用可否、LDR/STR(ユーザモード)

命令イミディエートオフセットポストインデクス+/-Rm [a]シフト
A32、ワード、バイト該当なし-4095 ~ 4095+/-RmLSL #0 ~ 31
    LSR #1 ~ 32
    ASR #1 ~ 32
    ROR #1 ~ 31
    RRX
A32、符号付きバイト、ハーフワード、符号付きハーフワード該当なし-255 ~ 255+/-Rm該当なし
32 ビット、T32、ワード、ハーフワード、符号付きハーフワード、バイト、符号付きバイト0 ~ 255該当なし該当なし

[a] -Rm、+Rm、または Rm を使用できます。


Show/hide関連項目

Copyright © 2014 ARM. All rights reserved.ARM DUI 0802AJ
Non-ConfidentialID061814