3. Simpan register ke memori

3.1. Konvensi dokumen

Notasi: Rt, Rn menunjuk register ARM R0-R7 kecuali dinyatakan sebaliknya. immN mewakili nilai langsung dengan lebar N bit sehingga imm5 dibatasi pada rentang 0-31. [Rn + imm5] adalah isi dari alamat memori yang diperoleh dengan menambahkan Rn dan offset imm5. Offset diukur dalam byte. Instruksi-instruksi ini tidak mempengaruhi flag kondisi.

3.2. Penyimpanan Register

  • str(Rt, [Rn, imm7]) [Rn + imm7] = Rt Simpan sebuah kata 32 bit

  • strb(Rt, [Rn, imm5]) [Rn + imm5] = Rt Simpan sebuah byte (b0-b7)

  • strh(Rt, [Rn, imm6]) [Rn + imm6] = Rt Simpan sebuah half word 16 bit (b0-b15)

Offset langsung yang ditentukan diukur dalam byte. Oleh karena itu, dalam kasus str, nilai 7 bit memungkinkan nilai kata 32 bit yang selaras diakses dengan offset maksimum 31 kata. Dalam kasus strh, nilai 6 bit memungkinkan nilai half-word 16 bit yang selaras diakses dengan offset maksimum 31 half-word.