2. 메모리에서 레지스터로 로드

2.1. 문서 표기 규칙

표기: Rt, Rn은 달리 명시된 경우를 제외하고 ARM 레지스터 R0-R7을 나타냅니다. immN은 N비트 폭을 갖는 즉시 값을 나타내며, 따라서 imm5는 0-31 범위로 제한됩니다. [Rn + immN]은 Rn과 오프셋 immN을 더하여 얻은 메모리 주소의 내용입니다. 오프셋은 바이트 단위로 측정됩니다. 이 명령어들은 조건 플래그에 영향을 줍니다.

2.2. 레지스터 로드

  • ldr(Rt, [Rn, imm7]) Rt = [Rn + imm7] 32비트 워드 로드

  • ldrb(Rt, [Rn, imm5]) Rt = [Rn + imm5] 바이트 로드

  • ldrh(Rt, [Rn, imm6]) Rt = [Rn + imm6] 16비트 하프 워드 로드

바이트 또는 하프 워드가 로드되는 경우, 32비트로 영확장됩니다.

지정된 즉시 오프셋은 바이트 단위로 측정됩니다. 따라서 ldr의 경우 7비트 값으로 32비트 워드 정렬된 값에 최대 31워드의 오프셋으로 접근할 수 있습니다. ldrh의 경우 6비트 값으로 16비트 하프 워드 정렬된 값에 최대 31하프 워드의 오프셋으로 접근할 수 있습니다.