5.6.1. ADR Thumb pseudo-instruction

The ADR pseudo-instruction loads a program-relative address into a register.

Syntax

ADR register, expr

where:

register

is the register to load.

expr

is a program-relative expression. The offset mustbe positive and less than 1KB. expr must be defined locally, it cannot be imported.

Usage

In Thumb state, ADR can generate word-aligned addresses only. Use the ALIGN directive to ensure that expr is aligned (see ALIGN).

expr must evaluate to an address in the same code section as the ADR pseudo-instruction. There is no guarantee that the address will be within range after linking if it resides in another ELF section.

Example

        ADR     r4,txampl    ; => ADD r4,pc,#nn
        ; code
        ALIGN
txampl  DCW     0,0,0,0
Copyright © 2000, 2001 ARM Limited. All rights reserved.ARM DUI 0068B
Non-Confidential