x86 Instruction Set Reference
MOVQ
Move Quadword
Opcode | Mnemonic | Description |
---|---|---|
0F 6F /r |
MOVQ mm, mm/m64 |
Move quadword from mm/m64 to mm. |
0F 7F /r |
MOVQ mm/m64, mm |
Move quadword from mm to mm/m64. |
F3 0F 7E |
MOVQ xmm1, xmm2/m64 |
Move quadword from xmm2/mem64 to xmm1. |
66 0F D6 |
MOVQ xmm2/m64, xmm1 |
Move quadword from xmm1 to xmm2/mem64. |
Description |
---|
Copies a quadword from the source operand (second operand) to the destination operand (first operand). The source and destination operands can be MMX technology registers, XMM registers, or 64-bit memory locations. This instruction can be used to move a quadword between two MMX technology registers or between an MMX technology register and a 64-bit memory location, or to move data between two XMM registers or between an XMM register and a 64-bit memory location. The instruction cannot be used to transfer data between memory locations. When the source operand is an XMM register, the low quadword is moved; when the destination operand is an XMM register, the quadword is stored to the low quadword of the register, and the high quadword is cleared to all 0s. |
Operation |
---|
//MOVQ instruction when operating on MMX technology registers and memory locations: if(IsMMX(Source) || IsMMX(Destination)) Destination = Source; //MOVQ instruction when source and destination operands are XMM registers: else if(IsXMM(Source) && IsXMM(Destination)) Destination[0..63] = Source[0..63]; //MOVQ instruction when source operand is XMM register and destination operand is memory location: else if(IsXMM(Source) && IsMemory(Destination)) Destination = Source[0..63]; //MOVQ instruction when source operand is memory location and destination operand is XMM register: else { Destination[0..63] = Source; Destination[64..127] = 0; } |
Flags affected |
---|
None. |
SIMD Floating-Point Exceptions |
---|
None. |
Protected Mode Exceptions | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Real-Address Mode Exceptions | ||||||||
---|---|---|---|---|---|---|---|---|
|
Virtual-8086 Mode Exceptions | ||||
---|---|---|---|---|
Same exceptions as in Real Address Mode
|
Instruction | Latency | Throughput | Execution Unit |
---|---|---|---|
CPUID | 0F3n/0F2n/069n | 0F3n/0F2n/069n | 0F2n |
MOVQ mm, mm | 6/6/- | 1/1/- | FP_MOV |
MOVQ xmm, xmm | 2/2/1 | 2/2/1 | MMX_SHFT |