LDR と STR(非特権モード)

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

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

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

Show/hide構文

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

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

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 5 はオフセットの範囲とこれらの命令の使用可否を示します。

Table 7. オフセットとアーキテクチャ、LDR/STR (ユーザモード)

命令イミディエートオフセットポストインデクス+/-Rm [a]シフトアーキテクチャ
ARM、ワード、バイト該当なし-4095 ~ 4095+/-RmLSL #0 ~ 31すべて
    LSR #1 ~ 32 
    ASR #1 ~ 32 
    ROR #1 ~ 31 
    RRX 
ARM、符号付きバイト、ハーフワード、符号付きハーフワード該当なし-255 ~ 255+/-Rm該当なしv6T2、v7
32 ビット Thumb、ワード、ハーフワード、符号付きハーフワード、バイト、符号付きバイト0 ~ 255該当なし該当なしv6T2、v7

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


Copyright © 2010 ARM. All rights reserved.ARM DUI 0489BJ
Non-ConfidentialID011811