2. Załaduj rejestr z pamięci¶
2.1. Konwencje dokumentu¶
Notacja: Rt, Rn oznaczają rejestry ARM R0-R7 z wyjątkiem przypadków, gdy stwierdzono inaczej. immN reprezentuje wartość natychmiastową o szerokości N bitów, stąd imm5 jest ograniczone do zakresu 0-31. [Rn + immN] to zawartość adresu pamięci uzyskanego przez dodanie Rn i przesunięcia immN. Przesunięcia mierzone są w bajtach. Te instrukcje wpływają na flagi warunku.
2.2. Załadowanie rejestru¶
ldr(Rt, [Rn, imm7])
Rt = [Rn + imm7]Załaduj 32-bitowe słowoldrb(Rt, [Rn, imm5])
Rt = [Rn + imm5]Załaduj bajtldrh(Rt, [Rn, imm6])
Rt = [Rn + imm6]Załaduj 16-bitowe półsłowo
Gdy ładowany jest bajt lub półsłowo, jest rozszerzane zerami do 32 bitów.
Określone przesunięcia natychmiastowe mierzone są w bajtach. Stąd w przypadku ldr 7-bitowa wartość umożliwia dostęp do wartości wyrównanych do 32-bitowego słowa z maksymalnym przesunięciem 31 słów. W przypadku ldrh 6-bitowa wartość umożliwia dostęp do wartości wyrównanych do 16-bitowego półsłowa z maksymalnym przesunięciem 31 półsłów.