10.56
MOV
Data Transfer
Format
MOV
Rm,Rn
MOV.B Rm,@Rn
MOV.W Rm,@Rn
MOV.L Rm,@Rn
MOV.B @Rm,Rn
MOV.W @Rm,Rn
MOV.L @Rm,Rn
MOV.B Rm,@-Rn
MOV.W Rm,@-Rn
MOV.L Rm,@-Rn
MOV.B @Rm+,Rn
MOV.W @Rm+,Rn
MOV.L @Rm+,Rn
MOV.B Rm,@(R0,Rn) Rm → (R0+Rn)
MOV.W Rm,@(R0,Rn) Rm → (R0+Rn)
MOV.L Rm,@(R0,Rn) Rm → (R0+Rn)
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
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.
MOVe data
Summary of Operation
Rm → Rn
Rm → (Rn)
Rm → (Rn)
Rm → (Rn)
(Rm) sign extension Rn
(Rm) sign extension Rn
(Rm) → Rn
Rn-1 → Rn, Rm → (Rn )
Rn-2 → Rn, Rm → (Rn )
Rn-4 → Rn, Rm → (Rn)
(Rm) sign extension Rn,
Rm+1 → Rm
(Rm) sign extension Rn,
Rm+2 → Rm
(Rm) → Rn, Rm+4 → Rm
Data Transfer Instruction
Instruction Code
0110nnnnmmmm0011 1
0010nnnnmmmm0000 1
0010nnnnmmmm0001 1
0010nnnnmmmm0010 1
0110nnnnmmmm0000 1
0110nnnnmmmm0001 1
0110nnnnmmmm0010 1
0010nnnnmmmm0100 1
0010nnnnmmmm0101 1
0010nnnnmmmm0110 1
0110nnnnmmmm0100 1
0110nnnnmmmm0101 1
0110nnnnmmmm0110 1
0000nnnnmmmm0100 1
0000nnnnmmmm0101 1
0000nnnnmmmm0110 1
0000nnnnmmmm1110 1
Rev. 2.0, 03/99, page 315 of 396
Execution
States
T Bit
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—
—