You copied the Doc URL to your clipboard.

Load immediate values using MOV32

To load any 32-bit immediate value, a pair of MOV and MOVT instructions is equivalent to a MOV32 pseudo-instruction.

Both A32 and T32 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-bitimmediate value in a register. Alternatively, you can use the MOV32 pseudo-instruction.The assembler generates the MOV, MOVT instructionpair for you.

You can also use the MOV32 instructionto load addresses into registers by using a label or any PC-relativeexpression in place of an immediate value. The assembler puts arelocation directive into the object file for the linker to resolvethe address at link-time.