You copied the Doc URL to your clipboard.

LDR (register)

Load Register (register).

Syntax

LDR Wt, [Xn|SP, (Wm|Xm){, extend {amount}}] ; 32-bit

LDR Xt, [Xn|SP, (Wm|Xm){, extend {amount}}] ; 64-bit

Where:

Wt
Is the 32-bit name of the general-purpose register to be transferred.
amount

Is the index shift amount, optional only when extend is not LSL. Where it is permitted to be optional, it defaults to #0. It is:

32-bit general registers
Can be one of #0 or #2.
64-bit general registers
Can be one of #0 or #3.
Xt
Is the 64-bit name of the general-purpose register to be transferred.
Xn|SP
Is the 64-bit name of the general-purpose base register or stack pointer.
Wm
When "option<0>" is set to 0, is the 32-bit name of the general-purpose index register.
Xm
When "option<0>" is set to 1, is the 64-bit name of the general-purpose index register.
extend
Is the index extend/shift specifier, defaulting to LSL, and which must be omitted for the LSL option when amount is omitted, and can be one of the values shown in Usage.

Usage

Load Register (register) calculates an address from a base register value and an offset register value, loads a word from memory, and writes it to a register. The offset register value can optionally be shifted and extended. For information about memory accesses, see Load/Store addressing modes in the Arm® Architecture Reference Manual Arm®v8, for Arm®v8‑A architecture profile.

Was this page helpful? Yes No