Skip to content

MOVQ:x86 move向量指令

MOVQ 属于 MMX 的 move 类 SIMD 指令。传统、VEX 与 EVEX 形式如共享该助记符,会集中列在本页。

操作码
Intel SDM · 见各编码形式
指令集
MMX / SSE2
英文全称
MOVQ
参考资料
Intel SDM
页码
01MOVQ02m64, xmm
01
指令助记符MOVQmnemonic

MOVQ 的 MMX 编码。

02
操作数m64, xmmdestination

Intel 官方资料列出的一个操作数形式;全部形式见下表。

MOVQ · REGISTER OPERATIONX86 · MOVE
元素数量向量宽度 ÷ 元素宽度2
vs2 · xmm1第一来源
xmm1[127:0]
vs2[1]264 bits
vs2[0]164 bits
vd · xmm0(结果)move
xmm0[127:0]
vd[1]2move
vd[0]1move
每个圆球代表一个完整元素强调背景:目标写入高索引在左、低索引在右

指令形式

语法说明
MOVQ m64, xmmIntel 官方操作数形式
MOVQ mm, r64Intel 官方操作数形式
MOVQ r64, mmIntel 官方操作数形式
MOVQ r64, xmmIntel 官方操作数形式
MOVQ xmm, m64Intel 官方操作数形式
MOVQ xmm, r64Intel 官方操作数形式
MOVQ xmm, xmmIntel 官方操作数形式

操作语义

操作数按 Intel SDM 中该编码规定的 packed 元素或低位标量解释。元素 0 位于向量寄存器最低有效位;128 位 lane 内行为与跨 lane 行为以具体形式为准。

注意点

修改的寄存器

显式目标寄存器或内存被写入,来源保持不变。传统双操作数形式可能覆盖第一来源;VEX/EVEX 非破坏性形式使用独立目标,并按编码规则清零有效宽度以上的目标位。EVEX 写掩码支持合并与 {z} 清零。

内存对齐

普通算术和转换内存来源通常没有额外自然对齐要求;名称为 aligned move 的形式以及部分非临时存储必须按 16、32 或 64 字节操作数宽度对齐。地址始终必须可访问完整操作数。

标志位与异常

纯整数或数据移动形式通常不修改 MXCSR。 只有 Intel SDM 明确规定的比较、测试或字符串形式修改 EFLAGS/RFLAGS;其他形式不修改整数标志。

示例形式

asm
movq m64, xmm

参考

SIGNAL MAINTAINED · BUILT FROM MARKDOWN