Rev. 1.50, 10/04, page 260 of 448
10.1.30 MOV (Move data): Data Transfer Instruction
Format Operation Instruction Code Cycle T Bit
MOV Rm,Rn Rm → Rn 0110nnnnmmmm0011 1 —
MOV.B Rm,@Rn Rm → (Rn) 0010nnnnmmmm0000 1 —
MOV.W Rm,@Rn Rm → (Rn) 0010nnnnmmmm0001 1 —
MOV.L Rm,@Rn Rm → (Rn) 0010nnnnmmmm0010 1 —
MOV.B @Rm,Rn (Rm) → sign extension → Rn 0110nnnnmmmm0000 1 —
MOV.W @Rm,Rn (Rm) → sign extension → Rn 0110nnnnmmmm0001 1 —
MOV.L @Rm,Rn (Rm) → Rn 0110nnnnmmmm0010 1 —
MOV.B Rm,@-Rn Rn-1 → Rn, Rm → (Rn ) 0010nnnnmmmm0100 1 —
MOV.W Rm,@-Rn Rn-2 → Rn, Rm → (Rn ) 0010nnnnmmmm0101 1 —
MOV.L Rm,@-Rn Rn-4 → Rn, Rm → (Rn) 0010nnnnmmmm0110 1 —
MOV.B @Rm+,Rn (Rm) → sign extension → Rn,
Rm + 1 → Rm
0110nnnnmmmm0100 1 —
MOV.W @Rm+,Rn (Rm) → sign extension → Rn,
Rm + 2 → Rm
0110nnnnmmmm0101 1 —
MOV.L @Rm+,Rn (Rm) → Rn, Rm + 4 → Rm 0110nnnnmmmm0110 1 —
MOV.B Rm,@(R0,Rn) Rm → (R0 + Rn) 0000nnnnmmmm0100 1 —
MOV.W Rm,@(R0,Rn) Rm → (R0 + Rn) 0000nnnnmmmm0101 1 —
MOV.L Rm,@(R0,Rn) Rm → (R0 + Rn) 0000nnnnmmmm0110 1 —
MOV.B @(R0,Rm),Rn (R0 + Rm) → sign extension → Rn 0000nnnnmmmm1100 1 —
MOV.W @(R0,Rm),Rn (R0 + Rm) → sign extension → Rn 0000nnnnmmmm1101 1 —
MOV.L @(R0,Rm),Rn (R0 + Rm) → Rn 0000nnnnmmmm1110 1 —
Description: This instruction transfers the source operand to the destination. When an operand is
memory, the data size can be specified as byte, word, or longword. When the source operand is
memory, the loaded data is sign-extended to longword before being stored in the register.
Notes: None