Load a register with either:
a 32-bit immediate value
MOV32 always generates two 32-bit instructions,
MOVT pair. This enables you to
load any 32-bit immediate, or to access the whole 32-bit address
The main purposes of the
To generate literal constants when an immediate value cannot be generated in a single instruction.
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
An address loaded in this way is fixed at link time, so the code is not position-independent.
MOV32 sets the Thumb bit (bit 0) of the address
if the label referenced is in Thumb code.