3. 將暫存器儲存到記憶體¶
3.1. 文件慣例¶
標記法:除非另有說明,否則 Rt, Rn 表示 ARM 暫存器 R0-R7。immN 表示寬度為 N 位元的立即值,因此 imm5 被限制在 0-31 的範圍內。[Rn + imm5] 是將 Rn 與偏移量 imm5 相加所得記憶體位址的內容。偏移量以位元組為單位。這些指令不會影響條件旗標。
3.2. 暫存器儲存¶
str(Rt, [Rn, imm7])
[Rn + imm7] = Rt儲存一個 32 位元字組(word)strb(Rt, [Rn, imm5])
[Rn + imm5] = Rt儲存一個位元組(b0-b7)strh(Rt, [Rn, imm6])
[Rn + imm6] = Rt儲存一個 16 位元半字組(b0-b15)
所指定的立即偏移量以位元組為單位。因此,就 str 而言,7 位元的值可讓 32 位元字組對齊的值以最大 31 個字組的偏移量被存取。就 strh 而言,6 位元的值可讓 16 位元半字組對齊的值以最大 31 個半字組的偏移量被存取。