ADRL pseudo-instruction enables you to generate
an address, within a certain range, without performing a data load.
a PC-relative expression, that is, a label with an optional offset
where the address of the label is relative to the current PC.
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
The assembler converts an
ADRL r pseudo-instruction
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 and encoding:
Any value that can be generated by two
SUBinstructions. 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 encoding
±1MB to a byte, halfword, or word-aligned address.
- 16-bit Thumb encoding
ADRLis not available.