2. Încărcare registru din memorie¶
2.1. Convenții ale documentului¶
Notație: Rt, Rn denotă registrele ARM R0-R7, cu excepția cazurilor menționate. immN reprezintă o valoare imediată având o lățime de N biți, deci imm5 este limitat la intervalul 0-31. [Rn + immN] este conținutul adresei de memorie obținute prin adunarea lui Rn cu decalajul immN. Decalajele sunt măsurate în octeți. Aceste instrucțiuni afectează indicatorii de condiție.
2.2. Încărcare registru¶
ldr(Rt, [Rn, imm7])
Rt = [Rn + imm7]Încarcă un cuvânt pe 32 de bițildrb(Rt, [Rn, imm5])
Rt = [Rn + imm5]Încarcă un octetldrh(Rt, [Rn, imm6])
Rt = [Rn + imm6]Încarcă o jumătate de cuvânt pe 16 biți
Când se încarcă un octet sau o jumătate de cuvânt, acesta este extins cu zerouri până la 32 de biți.
Decalajele imediate specificate sunt măsurate în octeți. Astfel, în cazul lui ldr, valoarea pe 7 biți permite accesarea valorilor aliniate la cuvinte pe 32 de biți cu un decalaj maxim de 31 de cuvinte. În cazul lui ldrh, valoarea pe 6 biți permite accesarea valorilor aliniate la jumătăți de cuvânt pe 16 biți cu un decalaj maxim de 31 de jumătăți de cuvânt.