Non-Confidential | ![]() | DUI0801J | ||
| ||||
Home > A32 and T32 Instructions > MOV32 pseudo-instruction |
Load a register with either a 32-bit immediate value or any address.
MOV32
{
}
cond
, Rd
expr
where:
cond
Rd
Rd
must not be SP or PC.expr
can be any one of the following:
symbol
#constant
symbol
+ constant
MOV32
always generates two 32-bit instructions, a MOV
,
MOVT
pair. This enables you to load any 32-bit immediate, or to access
the whole 32-bit address space.
The main purposes of the MOV32
pseudo-instruction
are:
To load a PC-relative or external address into a
register. The address remains valid regardless of where the linker
places the ELF section containing the MOV32
.
MOV32
sets the T32 bit (bit 0) of the
address if the label referenced is in T32 code.
This pseudo-instruction is available in A32 and T32.
MOV32 r3, #0xABCDEF12 ; loads 0xABCDEF12 into R3 MOV32 r1, Trigger+12 ; loads the address that is 12 bytes ; higher than the address Trigger into R1