3. Lagra register till minne¶
3.1. Dokumentkonventioner¶
Notation: Rt, Rn betecknar ARM-registren R0-R7 förutom där annat anges. immN representerar ett omedelbart värde med en bredd av N bitar, varför imm5 begränsas till intervallet 0-31. [Rn + imm5] är innehållet på den minnesadress som erhålls genom att addera Rn och offseten imm5. Offseter mäts i byte. Dessa instruktioner påverkar inte villkorsflaggorna.
3.2. Registerlagring¶
str(Rt, [Rn, imm7])
[Rn + imm7] = RtLagra ett 32-bitars ordstrb(Rt, [Rn, imm5])
[Rn + imm5] = RtLagra en byte (b0-b7)strh(Rt, [Rn, imm6])
[Rn + imm6] = RtLagra ett 16-bitars halvord (b0-b15)
De angivna omedelbara offseterna mäts i byte. I fallet med str möjliggör därför 7-bitarsvärdet åtkomst till 32-bitars ordjusterade värden med en maximal offset på 31 ord. I fallet med strh möjliggör 6-bitarsvärdet åtkomst till 16-bitars halvordsjusterade värden med en maximal offset på 31 halvord.