3. Zapisz rejestr do pamięci¶
3.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 + imm5] to zawartość adresu pamięci uzyskanego przez dodanie Rn i przesunięcia imm5. Przesunięcia mierzone są w bajtach. Te instrukcje nie wpływają na flagi warunku.
3.2. Zapis rejestru¶
str(Rt, [Rn, imm7])
[Rn + imm7] = RtZapisz 32-bitowe słowostrb(Rt, [Rn, imm5])
[Rn + imm5] = RtZapisz bajt (b0-b7)strh(Rt, [Rn, imm6])
[Rn + imm6] = RtZapisz 16-bitowe półsłowo (b0-b15)
Określone przesunięcia natychmiastowe mierzone są w bajtach. Stąd w przypadku str 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 strh 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.