English
Language : 

PM0223 Datasheet, PDF (46/110 Pages) STMicroelectronics – This programming manual provides information for application and system-level software developers
The STM32L0 Cortex-M0+ Instruction Set
PM0223
3.4.1
ADR
Generates a PC-relative address.
Syntax
ADR Rd, label
where:
Rd
label
Is the destination register.
Is a PC-relative expression. See 3.3.5: PC-relative expressions on page 42.
Operation
ADR generates an address by adding an immediate value to the PC, and writes the result to
the destination register.
ADR facilitates the generation of position-independent code, because the address is
PC-relative.
If you use ADR to generate a target address for a BX or BLX instruction, you must ensure
that bit[0] of the address you generate is set to 1 for correct execution.
Restrictions
In this instruction Rd must specify R0-R7. The data-value addressed must be word aligned
and within 1020 bytes of the current PC.
Condition flags
This instruction does not change the flags.
Examples
ADR R1, TextMessage ; Write address value of a location labelled as;
TextMessage to R1
ADR R3, [PC,#996] ; Set R3 to value of PC + 996.
46/110
DocID025763 Rev 1