2. โหลดรีจิสเตอร์จากหน่วยความจำ

2.1. ข้อตกลงในเอกสาร

สัญลักษณ์: Rt, Rn หมายถึงรีจิสเตอร์ ARM R0-R7 ยกเว้นในกรณีที่ระบุไว้ immN แทนค่า immediate ที่มีความกว้าง N บิต ดังนั้น imm5 จึงถูกจำกัดอยู่ในช่วง 0-31 [Rn + immN] คือเนื้อหาของที่อยู่หน่วยความจำที่ได้จากการบวก Rn กับ offset immN offset วัดเป็นไบต์ คำสั่งเหล่านี้มีผลต่อค่าสถานะเงื่อนไข

2.2. การโหลดรีจิสเตอร์

  • ldr(Rt, [Rn, imm7]) Rt = [Rn + imm7] โหลดคำ 32 บิต

  • ldrb(Rt, [Rn, imm5]) Rt = [Rn + imm5] โหลดไบต์

  • ldrh(Rt, [Rn, imm6]) Rt = [Rn + imm6] โหลด half word 16 บิต

เมื่อโหลดไบต์หรือ half word จะถูกขยายด้วยศูนย์เป็น 32 บิต

offset immediate ที่ระบุวัดเป็นไบต์ ดังนั้นในกรณีของ ldr ค่า 7 บิตทำให้สามารถเข้าถึงค่า word aligned 32 บิตด้วย offset สูงสุด 31 word ในกรณีของ ldrh ค่า 6 บิตทำให้สามารถเข้าถึงค่า half-word aligned 16 บิตด้วย offset สูงสุด 31 half-word