Skip navigation

ARM Instruction MOV

Move

MOV

Thumb syntax (narrow, v4T)

MOVRd, Rn
MOVS*** Unknown ***
MOVSRd, RnSee [1]
MOVSRd, #0See [2]

Thumb syntax (wide, v6T2)

MOVRd, #065535See [3]
MOVRd, #constSee [4]
MOVRd, Rn, shiftSee [5]
MOVSRd, #constSee [4]
MOVSRd, Rn, shiftSee [6]

Arm syntax (v4T)

MOVRd, #065535See [3]
MOVRd, #constSee [7]
MOVRd, Rn, shiftSee [8]
MOVSRd, #constSee [7]
MOVSRd, Rn, shiftSee [9]

Notes

  1. Rd, Rn must be R0…R7
  2. Rd must be R0…R7
  3. RdPC; RdSP
  4. RdPC; RdSP; const is one of $00xx00xx, $xx00xx00, $xxxxxxxx, $xx LSL 024
  5. Rd, RnPC; shift is one of LSL #031, LSR #132, ASR #132, RRX
  6. Rd, RnPC; Rd, RnSP; shift is one of LSL #031, LSR #132, ASR #132, RRX
  7. RdPC; RdSP; const is $xx ROR 2n
  8. shift is one of LSL #031/Rs, LSR #132/Rs, ASR #132/Rs, ROR #131/Rs, RRX
  9. Rd, RnPC; Rd, RnSP; shift is one of LSL #031/Rs, LSR #132/Rs, ASR #132/Rs, ROR #131/Rs, RRX