3. Register in den Speicher schreiben

3.1. Dokumentkonventionen

Notation: Rt, Rn bezeichnen die ARM-Register R0-R7, sofern nicht anders angegeben. immN steht für einen unmittelbaren Wert mit einer Breite von N Bits, daher ist imm5 auf den Bereich 0-31 beschränkt. [Rn + imm5] ist der Inhalt der Speicheradresse, die durch Addition von Rn und dem Offset imm5 ermittelt wird. Offsets werden in Bytes gemessen. Diese Anweisungen beeinflussen die Bedingungs-Flags nicht.

3.2. Register-Speichern

  • str(Rt, [Rn, imm7]) [Rn + imm7] = Rt Speichert ein 32-Bit-Wort

  • strb(Rt, [Rn, imm5]) [Rn + imm5] = Rt Speichert ein Byte (b0-b7)

  • strh(Rt, [Rn, imm6]) [Rn + imm6] = Rt Speichert ein 16-Bit-Halbwort (b0-b15)

Die angegebenen unmittelbaren Offsets werden in Bytes gemessen. Daher ermöglicht im Fall von str der 7-Bit-Wert den Zugriff auf 32-Bit-wortausgerichtete Werte mit einem maximalen Offset von 31 Wörtern. Im Fall von strh ermöglicht der 6-Bit-Wert den Zugriff auf 16-Bit-halbwortausgerichtete Werte mit einem maximalen Offset von 31 Halbwörtern.