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] = Rt Zapisz 32-bitowe słowo

  • strb(Rt, [Rn, imm5]) [Rn + imm5] = Rt Zapisz bajt (b0-b7)

  • strh(Rt, [Rn, imm6]) [Rn + imm6] = Rt Zapisz 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.