Adr - ST STM32F0 Series Programming Manual

Hide thumbs Also See for STM32F0 Series:
Table of Contents

Advertisement

The STM32 Cortex-M0 instruction set
3.4.1

ADR

Load PC-relative address.
Syntax
ADR Rd, label
where:
'Rd' is the destination register
'label' is a PC-relative expression (see
Operation
ADR determines the address by adding an immediate value to the PC. It writes the result to
the destination register.
ADR produces 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 to1 for correct execution.
Restrictions
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
ADR
R3, [PC,#996]
42/91
PC-relative expressions on page
; write address value of a location labelled as
; TextMessage to R1
; Set R3 to value of PC + 996.
Doc ID 022979 Rev 1
PM0215
39)

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the STM32F0 Series and is the answer not in the manual?

Table of Contents