## movq - move quadword

    dest = source

The movq instruction moves the source value (second operand) to the destination. The purpose of this instruction is to move a data between memory, general purpose registers and floating point registers. Thus the destination must be one of those categories and the source must be a different category with one exception: movq can be used to move a value from one floating point register to another. The 64 bits are moved without conversion.

            movq    rax, xmm0       ; move xmm0 to rax
            movq    [x], xmm0       ; move xmm0 to 64 bit variable x
            movq    xmm0, [y]       ; move 64 bit variable y to xmm0
                                    ; places 0 in second half of xmm0
            movq    xmm2, xmm1      ; move xmm1 to xmm2
                                    ; places 0 in second half of xmm2
            movq    [x], rax        ; move rax to 64 bit variable x

### flags: none