2. メモリからレジスタへのロード¶
2.1. ドキュメントの表記規則¶
表記: Rt, Rn は、特に明記されない限り ARM レジスタ R0-R7 を表します。immN は幅 N ビットの即値を表すため、imm5 は 0-31 の範囲に制約されます。[Rn + immN] は、Rn とオフセット immN を加算して得られるメモリアドレスの内容です。オフセットはバイト単位で測定されます。これらの命令は条件フラグに影響を与えます。
2.2. レジスタロード¶
ldr(Rt, [Rn, imm7])
Rt = [Rn + imm7]32 ビットワードをロードldrb(Rt, [Rn, imm5])
Rt = [Rn + imm5]バイトをロードldrh(Rt, [Rn, imm6])
Rt = [Rn + imm6]16 ビットハーフワードをロード
バイトまたはハーフワードがロードされる場合、それは 32 ビットにゼロ拡張されます。
指定された即値オフセットはバイト単位で測定されます。したがって ldr の場合、7 ビットの値により、最大オフセット 31 ワードで 32 ビットワード境界に整列した値にアクセスできます。ldrh の場合、6 ビットの値により、最大オフセット 31 ハーフワードで 16 ビットハーフワード境界に整列した値にアクセスできます。