The ADRL pseudo-instruction enables you to generate
an address, within a certain range, without performing a data load. ADRL accepts
a PC-relative expression, that is, a label with an optional offset
where the address of the label is relative to the current PC.
Note
The label used with ADRL must be within the same
code section. The assembler faults references to labels that are
out of range in the same section.
ADRL is not available in Thumb state on processors
before ARMv6T2.
The assembler converts an ADRL rn,label pseudo-instruction
by generating:
two
data processing instructions that load the address, if it is in
range
an error message if the address cannot be constructed
in two instructions.
The available range depends on the instruction set in use:
ARM
Any value that can be generated by two ADD or
two SUB instructions. That is, any value that can be
produced by the addition of two values, each of which is 8 bits
rotated right by any even number of bits within a 32-bit word. The
range is relative to the PC.
32-bit Thumb
±1MB to a
byte, halfword, or word-aligned address.
This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.
ARM websites use two types of cookie: (1) those that enable the site to function and perform as required; and (2) analytical cookies which anonymously track visitors only while using the site. If you are not happy with this use of these cookies please review our Privacy Policy to learn how they can be disabled. By disabling cookies some features of the site will not work.