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 ordldrb(Rt, [Rn, imm5])
Rt = [Rn + imm5]Ladda en byteldrh(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.