2. Yazmacı bellekten yükleme

2.1. Belge kuralları

Gösterim: Rt, Rn aksi belirtilmedikçe R0-R7 ARM yazmaçlarını belirtir. immN N bit genişliğinde anlık (immediate) bir değeri temsil eder; dolayısıyla imm5 0-31 aralığıyla kısıtlıdır. [Rn + immN] Rn ile immN ofseti toplanarak elde edilen bellek adresinin içeriğidir. Ofsetler bayt cinsinden ölçülür. Bu komutlar koşul bayraklarını etkiler.

2.2. Yazmaç Yükleme

  • ldr(Rt, [Rn, imm7]) Rt = [Rn + imm7] 32 bitlik bir sözcük yükle

  • ldrb(Rt, [Rn, imm5]) Rt = [Rn + imm5] Bir bayt yükle

  • ldrh(Rt, [Rn, imm6]) Rt = [Rn + imm6] 16 bitlik bir yarım sözcük yükle

Bir bayt veya yarım sözcük yüklendiğinde, 32 bite sıfır genişletmesi yapılır.

Belirtilen anlık ofsetler bayt cinsinden ölçülür. Dolayısıyla ldr durumunda 7 bitlik değer, 32 bitlik sözcük hizalı değerlere en fazla 31 sözcük ofsetiyle erişilmesini sağlar. ldrh durumunda 6 bitlik değer, 16 bitlik yarım sözcük hizalı değerlere en fazla 31 yarım sözcük ofsetiyle erişilmesini sağlar.