You copied the Doc URL to your clipboard.

ARM Compiler armasm User Guide : ADRL pseudo-instruction

ADRL pseudo-instruction

Load a PC-relative address into a register. It is similar to the ADR instruction but ADRL can load a wider range of addresses than ADR because it generates two data processing instructions.


ADRL Wd,label

ADRL Xd,label



Is the register to load with a 32-bit address.


Is the register to load with a 64-bit address.


Is a PC-relative expression.


ADRL assembles to two instructions, an ADRP followed by ADD.

If the assembler cannot construct the address in two instructions, it generates a relocation. The linker then generates the correct offsets.

ADRL produces position-independent code, because the address is calculated relative to PC.


      ADRL  x0, mylabel   ; loads address of mylabel into x0
Was this page helpful? Yes No