You copied the Doc URL to your clipboard.

Load immediates into registers

You can load an immediate from a range of values into a register using a MOV or MVN instruction. The range depends on the instruction set. Certain 32-bit values cannot be represented as an immediate operand to a single 32-bit instruction, although these values can be loaded from memory in a single instruction.

You can load any 32-bit immediate value into a register with two instructions, a MOV followed by a MOVT. Or, you can use a pseudo-instruction, MOV32, to construct the instruction sequence for you.

You can also use the LDR pseudo-instruction to load immediate values into a register.

You can include many commonly-used immediate values directly as operands within data processing instructions, without a separate load operation. The range of immediate values that you can include as operands in 16-bit T32 instructions is much smaller.