MOV (bitmask immediate)

Move bitmask immediate value

This instruction writes a bitmask immediate value to a register.

Encoding: Not setting the condition flags

313029282726252423222120191817161514131211109876543210
0110010011111
sfopcNimmrimmsRnRd

32-bit (sf == 0 && N == 0)

MOV <Wd|WSP>, #<imm>

Equivalent to: ORR <Wd|WSP>, WZR, #<imm>

64-bit (sf == 1)

MOV <Xd|SP>, #<imm>

Equivalent to: ORR <Xd|SP>, XZR, #<imm>

Explanations

<Wd|WSP>: Is the 32-bit name of the destination general-purpose register or stack pointer, encoded in the "Rd" field.
<imm>: For the "32-bit" variant: is the bitmask immediate, encoded in "imms:immr", but excluding values which could be encoded by MOVZ or MOVN.
<imm>: For the "64-bit" variant: is the bitmask immediate, encoded in "N:imms:immr", but excluding values which could be encoded by MOVZ or MOVN.
<Xd|SP>: Is the 64-bit name of the destination general-purpose register or stack pointer, encoded in the "Rd" field.

Operational Notes

If PSTATE.DIT is 1: