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] = Rt Lagra ett 32-bitars ord

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

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