| |||
| Home > Writing ARM Assembly Language > Loading constants into registers > Loading with MOV32 | |||
In ARMv6T2 and above, both ARM and Thumb-2 instruction sets include:
a MOV instruction that
can load any value in the range 0x00000000 to 0x0000FFFF into a
register
a MOVT instruction that can load any
value in the range 0x0000 to 0xFFFF into
the most significant half of a register, without altering the contents
of the least significant half.
You can use these two instructions to construct any 32-bit
constant in a register. Alternatively, you can use the MOV32 pseudo-instruction.
The assembler generates the MOV, MOVT instruction
pair for you. See MOV32 pseudo-instruction for
a description of the syntax of the MOV32 pseudo-instruction.