2. Ladda register från minne

2.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 + immN] är innehållet på den minnesadress som erhålls genom att addera Rn och offseten immN. Offseter mäts i byte. Dessa instruktioner påverkar villkorsflaggorna.

2.2. Registerladdning

  • ldr(Rt, [Rn, imm7]) Rt = [Rn + imm7] Ladda ett 32-bitars ord

  • ldrb(Rt, [Rn, imm5]) Rt = [Rn + imm5] Ladda en byte

  • ldrh(Rt, [Rn, imm6]) Rt = [Rn + imm6] Ladda ett 16-bitars halvord

När en byte eller ett halvord laddas, nollutökas det till 32 bitar.

De angivna omedelbara offseterna mäts i byte. I fallet med ldr 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 ldrh möjliggör 6-bitarsvärdet åtkomst till 16-bitars halvordsjusterade värden med en maximal offset på 31 halvord.