2. Učitavanje registra iz memorije

2.1. Konvencije dokumenta

Notacija: Rt, Rn označavaju ARM registre R0-R7 osim gdje je navedeno. immN predstavlja neposrednu vrijednost širine N bitova pa je imm5 ograničen na raspon 0-31. [Rn + immN] je sadržaj memorijske adrese dobivene zbrajanjem Rn i pomaka immN. Pomaci se mjere u bajtovima. Ove instrukcije utječu na uvjetne zastavice.

2.2. Učitavanje registra

  • ldr(Rt, [Rn, imm7]) Rt = [Rn + imm7] Učitava 32-bitnu riječ

  • ldrb(Rt, [Rn, imm5]) Rt = [Rn + imm5] Učitava bajt

  • ldrh(Rt, [Rn, imm6]) Rt = [Rn + imm6] Učitava 16-bitnu poluriječ

Kada se učitava bajt ili poluriječ, on se proširuje nulama na 32 bita.

Navedeni neposredni pomaci mjere se u bajtovima. Stoga u slučaju ldr 7-bitna vrijednost omogućuje pristup vrijednostima poravnatim na 32-bitnu riječ s maksimalnim pomakom od 31 riječi. U slučaju ldrh 6-bitna vrijednost omogućuje pristup vrijednostima poravnatim na 16-bitnu poluriječ s maksimalnim pomakom od 31 poluriječi.