x86 instruction reference
799 个页面,共 1134 个助记符。
A
AAAASCII 添加后调整AADASCII 区分前调整 AXAAMASCII 在乘法后调整 AXAASASCII 减法后调整 ALADC加载ADCX未签名的整数添加 2 操作数 与 进位标志ADD添加ADDPD添加 打包双精度浮点值 时ADDPS添加 打包单精度浮点值 时ADDSD添加 标量 双精度浮点 值ADDSS添加 标量 单精度浮点 值ADDSUBPD包装的 双精度浮点 添加/减法ADDSUBPS包装的 单精度浮点 添加/减法AESDEC执行 AES 解密流程的一回合AESDEC128KL使用 Key Locker 执行 AES 的十轮解密流程AESDEC256KL使用 256- Bit 键执行 AES 的 14 轮密钥解密流程AESDECLAST执行 AES 解密流程的最后一轮AESDECWIDE128KL执行 AES 的十轮解密, 8 块上的密钥锁定器AESDECWIDE256KL执行 AES 14 回合的解密流程,在 8 块上使用 Key LockerAESENC执行 AES 加密流程的一回合AESENC128KL使用128比特键执行 AES 的十轮加密流程AESENC256KL使用 256- Bit 键执行 AES 的 14 轮加密键锁AESENCLAST执行 AES 加密流程的最后一轮AESENCWIDE128KL执行 AES 的十轮加密流, 8 块上的密钥锁定器AESENCWIDE256KL执行 AES 的 14 轮加密流, 在 8 块上使用 Key LockerAESIMC执行 AES InvMix 转换AESKEYGENASSISTAES 回合 密钥 生成辅助AND逻辑 ANDANDN逻辑 AND NOTANDNPD组合双精度浮点值的逻辑 AND NOTANDNPS组合单精度浮点值的逻辑 AND NOTANDPD打包双精度浮点值的逻辑 ANDANDPS打包单精度浮点值的逻辑 ANDARPL调整 RPL 段选择子 字段
B
BEXTR位字段提取BLENDPD混合 打包双精度浮点值BLENDPS混合 打包单精度浮点值BLENDVPD变量组合 打包双精度浮点值BLENDVPS变量组合 打包单精度浮点值BLSI提取最低的集隔离位BLSMSK将遮罩移到最低设置位BLSR重置最低位设置BNDCL检查下界BNDCU, BNDCN检查上界BNDLDX使用地址翻译装入扩展边界BNDMK制造边界BNDMOV移动边界BNDSTX使用地址翻译存储扩展框BOUND对照边界检查阵列索引BSF位扫描向前BSR位扫描反向BSWAP字节交换BT位测试BTC位测试和互补BTR位测试和重置BTS位测试和设置BZHI从指定位位置开始的零高位数
C
CALL呼叫程序CBW, CWDE, CDQE将字节转换为字节/转换为双字节/转换为双字节CLACEFLAGS 登记册中清除 AC 旗CLC清除 进位标志CLD清除方向旗CLDEMOTE缓存行删除CLFLUSHFlush 缓存行CLFLUSHOPTFlush 缓存线优化CLI清除中断的旗帜CLRSSBSY在主管阴影堆栈托肯中清除忙碌旗CLTS在 CR0 中清除任务切换的旗帜CLUI清除用户中断旗CLWB缓存行回写CMC补充 进位标志CMOVcc有条件移动CMP比较两个 操作数CMPccXADD如果条件满足, 则比较和添加CMPPD比较 打包双精度浮点值CMPPS比较 打包单精度浮点值CMPS, CMPSB, CMPSW, CMPSD, CMPSQ比较字符串 操作数CMPSD比较 标量 双精度浮点 值CMPSS比较 标量 单精度浮点 值CMPXCHG比较和交换CMPXCHG8B, CMPXCHG16B比较和交换字节COMISD比较 标量 命令的 双精度浮点 值和设置 EFLAGSCOMISS比较 标量 命令的 单精度浮点 值和设置 EFLAGSCPUIDCPU 标识CRC32累积 CRC32 值CVTDQ2PD将包装的双字整数转换为包装的 双精度浮点CVTDQ2PS将包装的双字整数转换为包装的 单精度浮点CVTPD2DQ将 打包双精度浮点值 转换为包装双字CVTPD2PI将 打包双精度浮点值 转换为包装的字组CVTPD2PS将 打包双精度浮点值 转换为包装的单精度CVTPI2PD将包装的字组转换为 打包双精度浮点值CVTPI2PS将包装的字组转换为 打包单精度浮点值CVTPS2DQ将 打包单精度浮点值 转换为已签名的包装CVTPS2PD将 打包单精度浮点值 转换为包装的双精度CVTPS2PI将 打包单精度浮点值 转换为包装的字组CVTSD2SI将 标量 双精度浮点 值转换为已签名的整数CVTSD2SS将 标量 双精度浮点 值转换为 标量 单精度CVTSI2SD将已签名的整数转换为 标量 双精度浮点 值CVTSI2SS将已签名的整数转换为 标量 单精度浮点 值CVTSS2SD将 标量 单精度浮点 值转换为 标量 双精度CVTSS2SI将 标量 单精度浮点 值转换为已签名的整数CVTTPD2DQ将 打包双精度浮点值 转换为CVTTPD2PI打包双精度浮点值 转换为包装CVTTPS2DQ打包单精度浮点值 转换为包装CVTTPS2PI打包单精度浮点值 转换为包装CVTTSD2SI以 Truncation 标量 双精度浮点 转换为已签名值CVTTSS2SI以 Truncation 标量 单精度浮点 转换为已签名值CWD, CDQ, CQO将单词转换为双词/ 将双词转换为四词
D
DAA小数调整 AL 后添加DAS减法后小数调整 ALDEC减少1个DIV未签名除法DIVPD除以 打包双精度浮点值 时DIVPS除以 打包单精度浮点值 时DIVSD除以 标量 双精度浮点 值DIVSS除以 标量 单精度浮点 值DPPD打包双精度浮点值 的点产品DPPS打包单精度浮点值 的点产品
E
EMMS空 MMX 技术状态ENCODEKEY128以 Key Locker 编码 128- Bit 密钥ENCODEKEY256用 Key Locker 编码 256- Bit 密钥ENDBR32在32位和兼容模式中终止间接分支ENDBR64在64位模式下终止间接分支ENQCMD队列命令ENQCMDS队列命令主管ENTER为程序参数制作堆栈框架ERETS返回主管ERETU事件返回用户EXTRACTPS提取包装的 浮点值
F
F2XM1计算 2x1FABS绝对值FADD, FADDP, FIADD添加FBLD装入二进制编码小数FBSTP存储 BCD 整数和 PopFCHS更改符号FCLEX, FNCLEX清除例外FCMOVcc浮点 有条件移动FCOM, FCOMP, FCOMPP比较 浮点值FCOMI, FCOMIP, FUCOMI, FUCOMIP比较 浮点值 和 设置 EFLAGSFCOS余弦FDECSTP折叠式托普指针FDIV, FDIVP, FIDIV除号FDIVR, FDIVRP, FIDIVR反向分割FFREE免费 浮点 注册FICOM, FICOMP比较整数FILD装入整数FINCSTP堆栈-托普指针FINIT, FNINIT初始化 浮点 单位FIST, FISTP存储整数FISTTP以截流存储整数FLD装入 浮点 值FLDCW装入 x87 FPU 控制单词FLDENV装入 x87 FPU 环境FMUL, FMULP, FIMUL乘数FNOP无操作FPATAN部分 Arctangent 语句FPREM部分残存FPREM1部分残存FPTAN部分正切FRNDINT回合到整数FRSTOR恢复 x87 FPU 状态FSAVE, FNSAVE存储 x87 FPU 状态FSCALE缩放FSIN正弦FSINCOS正弦和余弦FSQRT平方根FST, FSTP存储 浮点 值FSTCW, FNSTCW存储 x87 FPU 控制单词FSTENV, FNSTENV存储 x87 FPU 环境FSTSW, FNSTSW存储 x87 FPU 状态单词FSUB, FSUBP, FISUB减法FSUBR, FSUBRP, FISUBR反转减法FTSTTEST 坐标FUCOM, FUCOMP, FUCOMPP无序比较 浮点值FXAM检查 浮点FXCH交换登记册内容FXRSTOR恢复x87 FPU,MMX,XMM,以及MXCSR状态FXSAVE保存 x87 FPU, MMX 技术,和 SSE 状态FXTRACT节选标识和符号FYL2X计算 Y 对数2xFYL2XP1计算y 对数2(x+1)
G
GETSEC[CAPABILITIES]报告 SMX 能力GETSEC[ENTERACCS]执行认证的芯片集代码GETSEC[EXITAC]退出认证代码执行模式GETSEC[PARAMETERS]报告 SMX 参数GETSEC[SENTER]输入测量环境GETSEC[SEXIT]退出测量环境GETSEC[SMCTRL]SMX 模式控制GETSEC[WAKEUP]测量环境中的睡眠处理器GF2P8AFFINEINVQBGalois 战地芳香变换反向GF2P8AFFINEQB加洛瓦场芳香变换GF2P8MULB加卢瓦字段乘数字节
H
HADDPD包装的 双精度浮点 水平添加HADDPS包装的 单精度浮点 水平添加HLT停车HRESET历史重置HSUBPD包装的 双精度浮点 水平减法HSUBPS包装的 单精度浮点 水平减法
I
IDIV已签名的分割IMUL乘号IN从端口输入INC增加1个INCSSPD, INCSSPQ增加阴影 栈指针INS, INSB, INSW, INSD从端口输入字符串INSERTPS插入 标量 单精度浮点 值INT n, INTO, INT3, INT1调用中断程序INVD无效的内存INVLPG无效的 TLB 条目INVPCID无效进程- 文本标识符IRET, IRETD, IRETQ中断返回
J
K
KADDW, KADDB, KADDQ, KADDDADD 两面罩KANDNW, KANDNB, KANDNQ, KANDND逻辑 AND NOT 面具KANDW, KANDB, KANDQ, KANDD逻辑 AND 面具KMOVW, KMOVB, KMOVQ, KMOVD移动到遮盖登记册KNOTW, KNOTB, KNOTQ, KNOTDNOT 面具登记册KORTESTW, KORTESTB, KORTESTQ, KORTESTDOR 遮盖和设置旗帜KORW, KORB, KORQ, KORD逻辑或遮罩KSHIFTLW, KSHIFTLB, KSHIFTLQ, KSHIFTLD左移遮罩注册KSHIFTRW, KSHIFTRB, KSHIFTRQ, KSHIFTRD右移遮罩注册KTESTW, KTESTB, KTESTQ, KTESTD已包装的位测试面罩和设置旗KUNPCKBW, KUNPCKWD, KUNPCKDQ卸下面具登记册KXNORW, KXNORB, KXNORQ, KXNORD逻辑 XNOR 面具KXORW, KXORB, KXORQ, KXORD逻辑 XOR 面具
L
LAHF装入 状态标志 输入 AH 登记册LAR装入访问权限LDDQU装入未对齐的128位元LDMXCSR装入 MXCSR 登记册LDS, LES, LFS, LGS, LSS装入远指针LDTILECFG装入图纸配置LEA装入有效地址LEAVE高级程序退出LFENCE装入栅栏LGDT, LIDT装入全局/ 中断描述表LKGS装入核心GS基地LLDT装入本地描述器表格注册LMSW装入机器状态单词LOADIWKEY用 Key Locker 装入内部 包装密钥LOCKLOCK# 信号前缀LODS, LODSB, LODSW, LODSD, LODSQ装入字符串LOOP, LOOPcc根据 ECX 计数器循环LSL装入段限制LTR装入任务注册LZCNT计算领先零位数
M
MASKMOVDQU存储双曲线字节MASKMOVQ存储选中的四字节MAXPD最大为 打包双精度浮点值MAXPS最大为 打包单精度浮点值MAXSD返回最大 标量 双精度浮点 值MAXSS返回最大 标量 单精度浮点 值MFENCE记忆栅栏MINPD最小为 打包双精度浮点值MINPS最小为 打包单精度浮点值MINSD返回最小 标量 双精度浮点 值MINSS返回最小 标量 单精度浮点 值MONITOR设置监视器地址MOV移动MOV移入/移出控制登记册MOV移动到/从调试日志中MOVAPD移动对齐的 打包双精度浮点值MOVAPS移动对齐的 打包单精度浮点值MOVBE将数据移动到移动字节后MOVD, MOVQ移动双字/ 移动四方字MOVDDUP复制 双精度浮点 值MOVDIR64B移动 64 字节为直接存储MOVDIRI将双字移动为直接存储MOVDQ2Q将四字从 XMM 移动到 MMX 技术登记册MOVDQA, VMOVDQA32, VMOVDQA64移动组合整数MOVDQU, VMOVDQU8, VMOVDQU16, VMOVDQU32, VMOVDQU64移动未对齐的组合整数MOVHLPS将 打包单精度浮点值 高到低MOVHPD移动高包装的 双精度浮点 值MOVHPS移动高 打包单精度浮点值MOVLHPS将 打包单精度浮点值 低到高MOVLPD移动低包装的 双精度浮点 值MOVLPS移动低 打包单精度浮点值MOVMSKPD提取包装的 双精度浮点 签名罩MOVMSKPS提取包装的 单精度浮点 签名罩MOVNTDQ使用非临时提示存储包装整数MOVNTDQA装入双四字形非时态对齐提示MOVNTI使用非时间提示存储双字MOVNTPD使用非时间提示存储 打包双精度浮点值MOVNTPS使用非时间提示存储 打包单精度浮点值MOVNTQ使用非时间提示存储二次词MOVQ移动四方字MOVQ2DQ从 MMX 技术移动到 XMM 登记册MOVS, MOVSB, MOVSW, MOVSD, MOVSQ数据从字符串移动到字符串MOVSD移动或合并 标量 双精度浮点 值MOVSHDUP复制 单精度浮点 值MOVSLDUP复制 单精度浮点 值MOVSS移动或合并 标量 单精度浮点 值MOVSX, MOVSXD以签名扩展移动MOVUPD移动未对齐的 打包双精度浮点值MOVUPS移动未对齐的 打包单精度浮点值MOVZX以零扩展移动MPSADBW计算绝对差异的多包和MUL未签名的乘法MULPD乘以 打包双精度浮点值 时MULPS乘以 打包单精度浮点值 时MULSD乘以 标量 双精度浮点 数值MULSS乘以 标量 单精度浮点 值MULX未签名但不影响旗帜的倍数MWAIT监视器等待
N
O
OR逻辑包容性 ORORPD打包双精度浮点值 的位逻辑 ORORPS打包单精度浮点值 的位逻辑 OROUT输出到端口OUTS, OUTSB, OUTSW, OUTSD输出字符串到端口
P
PABSB, PABSW, PABSD, PABSQ包装的绝对值PACKSSWB, PACKSSDW用已签名的饱和度包装PACKUSDW装入未签名饱和度PACKUSWB装入未签名饱和度PADDB, PADDW, PADDD, PADDQ添加包装整数PADDSB, PADDSW用已签名的饱和度添加包装的 有符号整数PADDUSB, PADDUSW用无符号饱和度添加包装的 无符号整数PALIGNR包装对齐PAND逻辑 ANDPANDN逻辑 AND NOTPAUSE旋转循环提示PAVGB, PAVGW平均包装整数PBLENDVB可变组合字节PBLENDW组合词PBNDKB平台 Bind 密钥 到 二进制大对象PCLMULQDQ承载-减乘法四进制PCMPEQB, PCMPEQW, PCMPEQD比较相等的包装数据PCMPEQQ比较平等包装的词组数据PCMPESTRI包装的比较长度字符串,返回索引PCMPESTRM包装的比较长度PCMPGTB, PCMPGTW, PCMPGTD比较包装的 有符号整数 大于PCMPGTQ比较大于包装的数据PCMPISTRI包装的比较隐长字符串,返回索引PCMPISTRM包装比较隐长字符串, 返回遮罩PCONFIG平台配置PDEP平行位保存PEXT平行位提取PEXTRB, PEXTRD, PEXTRQ提取字节/字节/字节PEXTRW提取单词PHADDSW包装水平添加和饱和PHADDW, PHADDD包装水平添加PHMINPOSUW最小水平字包PHSUBSW包装水平减法和饱和度PHSUBW, PHSUBD包装水平减法PINSRB, PINSRD, PINSRQ插入字节/字节/字节PINSRW插入单词PMADDUBSW乘并添加已签名和未签名字节PMADDWD乘法和添加包装整数PMAXSB, PMAXSW, PMAXSD, PMAXSQ最大包装 有符号整数PMAXUB, PMAXUW最大包装 无符号整数PMAXUD, PMAXUQ最大包装 无符号整数PMINSB, PMINSW最小包装 有符号整数PMINSD, PMINSQ最小包装 有符号整数PMINUB, PMINUW最小包装 无符号整数PMINUD, PMINUQ最小包装 无符号整数PMOVMSKB移动字节遮罩 Op/ 64/ 32 位 CPUIDPMOVSX用符号扩展包装移动PMOVZX以零扩展包装移动PMULDQ组合双字整数PMULHRSW以圆和缩放方式组合成倍高PMULHUW乘以包装 无符号整数 并存储高结果PMULHW乘以包装 有符号整数 并存储高结果PMULLD, PMULLQ乘以包装整数和存储低结果PMULLW乘以包装 有符号整数 并存储低结果PMULUDQ乘以未签名的双字整数POP从堆栈中弹出一个值POPA, POPAD弹出全部 通用寄存器POPCNT返回位数集数为 1POPF, POPFD, POPFQPop Stack Into EFLAGS 注册POR逻辑 ORPREFETCHh预选数据输入 CachesPREFETCHW预选数据输入 Caches 在预想写作中PREFETCHWT1预选矢量数据输入刻录和 T1 提示PSADBW绝对差异的计算总和PSHUFB包装的散列字节PSHUFD包装双字PSHUFHW散装高词PSHUFLW包装的低词PSHUFW包装的单词PSIGNB, PSIGNW, PSIGND包装的 SIGNPSLLDQ左移双四字逻辑PSLLW, PSLLD, PSLLQ左侧数据包逻辑PSRAW, PSRAD, PSRAQ右侧数据包算术PSRLDQ右移双四字PSRLW, PSRLD, PSRLQ右移包装数据逻辑PSUBB, PSUBW, PSUBD减法包装整数PSUBQ减法包装的四字整数PSUBSB, PSUBSW带有签名饱和度的 有符号整数 包装的减法PSUBUSB, PSUBUSW将 无符号整数 装入未标记的饱和度减法PTEST逻辑比较PTWRITE将数据写入处理器追踪包PUNPCKHBW, PUNPCKHWD, PUNPCKHDQ, PUNPCKHQDQ解包高数据PUNPCKLBW, PUNPCKLWD, PUNPCKLDQ, PUNPCKLQDQ解包低数据PUSH按下字、双字或四字键到堆栈PUSHA, PUSHAD推动全部 通用寄存器PUSHF, PUSHFD, PUSHFQ将 EFLAGS 注册到堆栈PXOR逻辑专属或
R
RCL, RCR, ROL, ROR旋转RCPPS计算 打包单精度浮点值 的对称RCPSS计算 标量 单精度浮点 值RDFSBASE, RDGSBASE读取FS/GS分部基地RDMSR从模式特定登记册读取RDMSRLIST读取模式特定登记册列表RDPID读取处理器 IDRDPKRU为用户页面读取保护 密钥 权利RDPMC读取性能监测计数器RDRAND读取随机数字RDSEED读取随机 SEEDRDSSPD, RDSSPQ读取阴影 栈指针RDTSC读取时间戳计数器RDTSCP读取时间戳计数器和处理器IDREP重复字符串操作( 前缀)REPE, REPZ在零时重复字符串操作( 前缀)REPNE, REPNZ重复字符串操作而不为零( 前缀)RET从程序返回ROUNDPD打包双精度浮点值 回合ROUNDPS打包单精度浮点值 回合ROUNDSD标量 双精度浮点 数值ROUNDSS标量 单精度浮点 数值RSM从系统管理模式恢复RSQRTPS计算包装 单精度浮点 的平方根RSQRTSS计算 标量 单精度浮点 的平方根的对称值RSTORSSP恢复已保存的阴影 栈指针
S
SAHF存储 AH 输入旗帜SAL, SAR, SHL, SHR移动SARX, SHLX, SHRX移动不影响旗帜SAVEPREVSSP保存上一个阴影 栈指针SBB用借款进行整数减法SCAS, SCASB, SCASW, SCASD扫描字符串SENDUIPI发送用户间处理器中断SERIALIZE指令执行序列化SETcc在条件上设置字节SETSSBSY标记阴影堆栈忙碌SFENCE存储栅栏SGDT存储全局描述表注册SHA1MSG1执行下四个 SHA1 信件词的中间计算SHA1MSG2执行下四 SHA1 信件词的最后计算SHA1NEXTE计算四轮后 SHA1 状态变量 ESHA1RNDS4执行 SHA1 四轮操作SHA256MSG1对下四张 SHA256 信件进行中间计算SHA256MSG2执行下四 SHA256 信件词的最后计算SHA256RNDS2执行两轮 SHA256 操作SHLD双精度左移SHRD双精度右移SHUFPD双精度浮点 值对等的包放间歇SHUFPS单精度浮点 值的四边形四面体的包装间歇SIDT存储中断描述表SLDT存储本地描述表注册SMSW存储机器状态单词SQRTPD双精度浮点 值的平方根SQRTPS单精度浮点 值的平方根SQRTSD计算 标量 双精度浮点 值的平方根SQRTSS计算 标量 单精度值的平方根STAC在 EFLAGS 登记册中设置 AC 旗STC设置 进位标志STD设置方向旗STI设置中断的旗帜STMXCSR存储 MXCSR 注册状态STOS, STOSB, STOSW, STOSD, STOSQ存储字符串STR存储任务注册STTILECFG存储图纸配置STUI设置用户中断旗SUB减法SUBPD减法 打包双精度浮点值SUBPS减法 打包单精度浮点值SUBSD减去 标量 双精度浮点 数值SUBSS减去 标量 单精度浮点 数值SWAPGS交换GS基地登记册SYSCALL快速系统调用SYSENTER快速系统调用SYSEXIT从快速系统调用返回SYSRET从快速系统调用返回
T
TCMMIMFP16PS, TCMMRLFP16PS复合梯子积成的乘法TDPBF16PSBF16 叠加成包装的单精度图案的点产品TDPBSSD, TDPBSUD, TDPBUSD, TDPBUUD带有 Dword 的签名/ 未签名字节的点产品TDPFP16PSFP16 叠加成包装的单精度图案的点产品TEST逻辑比较TESTUI确定用户中断标记TILELOADD, TILELOADDT1装入图纸TILERELEASE释放 Tile Op/ 64/ 32 位 CPUID 特性TILESTORED存储图纸TILEZERO零平铺TPAUSE计时 PAUSETZCNT计算拖动零位数
U
UCOMISD无序比较 标量 双精度浮点 值和设置 EFLAGSUCOMISS无序比较 标量 单精度浮点 值和设置 EFLAGSUD未定义指令UIRET用户中断返回UMONITOR用户级别设置监视器地址UMWAIT用户级别监视器等待UNPCKHPD解包和间隔高 打包双精度浮点值UNPCKHPS解包和间隔高 打包单精度浮点值UNPCKLPD解包和互放低包式双精度浮点值UNPCKLPS解包和互放低包单精度浮点值
V
V4FMADDPS, V4FNMADDPS包装的 单精度浮点 倍增V4FMADDSS, V4FNMADDSS标量 单精度浮点 引信倍增VADDPH添加包装的 FP16 值VADDSH添加 标量 FP16 值VALIGND, VALIGNQ对齐双字/四字矢量VBCSTNEBF162PS用广播装入 BF16 元素并转换为 FP32 元素VBCSTNESH2PS用广播装入 FP16 元素并转换为 FP32 元素VBLENDMPD, VBLENDMPS使用 Opmask 控制器的混合浮控64/浮控32矢量VBROADCAST装入广播 浮点 数据VCMPPH比较包装的 FP16 值VCMPSH比较 标量 FP16 值VCOMISH比较 标量 命令的 FP16 值和设置 EFLAGSVCOMPRESSPD存储 Sparse 打包双精度浮点值 输入深色VCOMPRESSPS存储 Sparse 打包单精度浮点值 内存VCVTDQ2PH将已签名的双字组转换为已包装的 FP16 值VCVTNE2PS2BF16将两个包装的单一数据转换成一个包装的BF16数据VCVTNEEBF162PS将包装的 BF16 值的偶数元素转换为 FP32 值VCVTNEEPH2PS将包装的 FP16 值的偶数元素转换为 FP32 值VCVTNEOBF162PS将包装的 BF16 值的奇数元素转换为 FP32 值VCVTNEOPH2PS将包装的 FP16 值的奇数元素转换为 FP32 值VCVTNEPS2BF16将打包的单个数据转换为打包的 BF16 数据VCVTPD2PH将包装的双精度 FP 值转换为包装的 FP16 值VCVTPD2QQ将 打包双精度浮点值 转换为包装的四方字VCVTPD2UDQ将 打包双精度浮点值 转换为无符号包装VCVTPD2UQQ将 打包双精度浮点值 转换为无符号包装VCVTPH2DQ将已包装的 FP16 值转换为已签名的双字整数VCVTPH2PD将已包装的 FP16 值转换为 FP64 值VCVTPH2PS, VCVTPH2PSX将包装的 FP16 值转换为 单精度浮点VCVTPH2QQ将已包装的 FP16 值转换为已签名的四字整数值VCVTPH2UDQ将已包装的 FP16 值转换为未签名的双字整数VCVTPH2UQQ将已包装的 FP16 值转换为未签名的四字整数VCVTPH2UW将已包装的 FP16 值转换为未签名的整词VCVTPH2W将已包装的 FP16 值转换为已签名的单词整数VCVTPS2PH将单精度 FP 值转换为 16 位 FP 值VCVTPS2PHX将 打包单精度浮点值 转换为包装的 FP16 值VCVTPS2QQ将 打包单精度浮点值 转换为已签名的包装VCVTPS2UDQ将 打包单精度浮点值 转换为无符号包装VCVTPS2UQQ将 打包单精度浮点值 转换为无符号包装VCVTQQ2PD将包装的四字整数转换为包装的 双精度浮点VCVTQQ2PH将已签名的四字形整数转换为已包装的 FP16 值VCVTQQ2PS将包装的四字整数转换为包装的 单精度浮点VCVTSD2SH将 Low FP64 值转换为 FP16 值VCVTSD2USI将 标量 双精度浮点 值转换为无符号整数VCVTSH2SD将 Low FP16 值转换为 FP64 值VCVTSH2SI将 Low FP16 值转换为已签名的整数VCVTSH2SS将 Low FP16 值转换为 FP32 值VCVTSH2USI将 Low FP16 值转换为无符号整数VCVTSI2SH将已签名的双字/ 四字整数转换为 FP16 值VCVTSS2SH将 Low FP32 值转换为 FP16 值VCVTSS2USI将 标量 单精度浮点 值转换为无符号双字VCVTTPD2QQ打包双精度浮点值 转换为VCVTTPD2UDQ打包双精度浮点值 转换为VCVTTPD2UQQ打包双精度浮点值 转换为VCVTTPH2DQ将已包装的 FP16 值转换为已签名的双字整数VCVTTPH2QQ将已包装的 FP16 值转换为已签名的四字整数VCVTTPH2UDQ将已包装的 FP16 值转换为无符号双字VCVTTPH2UQQ将已包装的 FP16 值转换为未签名的四字整数VCVTTPH2UW将已包装的 FP16 值转换为未签名的整词VCVTTPH2W将已包装的 FP16 值转换为已签名的单词整数VCVTTPS2QQ打包单精度浮点值 转换为VCVTTPS2UDQ打包单精度浮点值 转换为VCVTTPS2UQQ打包单精度浮点值 转换为VCVTTSD2USI以 Truncation 标量 双精度浮点 值转换为VCVTTSH2SI以 Truncation Low FP16 值转换为已签名整数VCVTTSH2USI以 Truncation Low FP16 值转换为无符号整数VCVTTSS2USI以 Truncation 标量 单精度浮点 值转换为VCVTUDQ2PD将未签名的双字整数转换为双精度VCVTUDQ2PH将未签名的双字整数转换为 FP16 值VCVTUDQ2PS将无符号的双字整数转换为单个精度VCVTUQQ2PD将无符号的四字整数转换为双精度VCVTUQQ2PH将未签名的四字整数转换为 FP16 值VCVTUQQ2PS将无符号的四字整数转换为单个精度VCVTUSI2SD将未签名的整数转换为 标量 双精度浮点 值VCVTUSI2SH将未签名的双字整数转换为 FP16 值VCVTUSI2SS将未签名的整数转换为 标量 单精度浮点 值VCVTUW2PH将未签名的字组转换为 FP16 值VCVTW2PH将已签名的单词整数转换为 FP16 值VDBPSADBW在未签名字节上双块包装的和绝对偏差( SAD)VDIVPH除以包装的 FP16 值VDIVSH除以 标量 FP16 值VDPBF16PSBF16配对的点产品VERR, VERW校验读或写入的片段VEXP2PD近似包装 双精度浮点 的标志 2^xVEXP2PS近似包装 单精度浮点 的标志 2^xVEXPANDPD从 Dense 内存装入 Sparse 打包双精度浮点值VEXPANDPS从 Dense 内存装入 Sparse 打包单精度浮点值VFCMADDCPH, VFMADDCPH复数和累积 FP16 值VFCMADDCSH, VFMADDCSH复数和积分 标量 FP16 值VFCMULCPH, VFMULCPH复杂乘以 FP16 值VFCMULCSH, VFMULCSH复数 标量 FP16 值VFIXUPIMMPD修复特殊包装浮点64值VFIXUPIMMPS修复特殊包装浮点32值VFIXUPIMMSD修复特殊 标量 浮点64 值VFIXUPIMMSS修复特殊的 标量 浮点32 值VFMADD132PD, VFMADD213PD, VFMADD231PD包件的倍加法VFMADD132PH, VFMADD213PH, VFMADD231PH, VFNMADD132PH, VFNMADD213PH, VFNMADD231PHFP16 包装值的倍增VFMADD132PS, VFMADD213PS, VFMADD231PS包件单件多加法VFMADD132SD, VFMADD213SD, VFMADD231SD标量双倍倍增法VFMADD132SH, VFMADD213SH, VFMADD231SH, VFNMADD132SH, VFNMADD213SH, VFNMADD231SH标量 FP16 值的倍增VFMADD132SS, VFMADD213SS, VFMADD231SS标量 单精度的倍增VFMSUB132PD, VFMSUB213PD, VFMSUB231PD包件的倍减法VFMSUB132PH, VFMSUB213PH, VFMSUB231PH, VFNMSUB132PH, VFNMSUB213PH, VFNMSUB231PH包装的 FP16 值的倍减法VFMSUB132PS, VFMSUB213PS, VFMSUB231PS包件单件的倍减法VFMSUB132SD, VFMSUB213SD, VFMSUB231SD标量 双倍倍式VFMSUB132SH, VFMSUB213SH, VFMSUB231SH, VFNMSUB132SH, VFNMSUB213SH, VFNMSUB231SH标量 FP16 数值的倍数VFMSUB132SS, VFMSUB213SS, VFMSUB231SS标量 单倍减法VFNMADD132PD, VFNMADD213PD, VFNMADD231PD包件的废负倍加法VFNMADD132PS, VFNMADD213PS, VFNMADD231PS包件的废负倍加法VFNMADD132SD, VFNMADD213SD, VFNMADD231SD标量的引信负倍增VFNMADD132SS, VFNMADD213SS, VFNMADD231SS标量的引信负倍增VFNMSUB132PD, VFNMSUB213PD, VFNMSUB231PD引信负数乘以VFNMSUB132PS, VFNMSUB213PS, VFNMSUB231PS引信负数乘以VFNMSUB132SD, VFNMSUB213SD, VFNMSUB231SD引信负数乘以VFNMSUB132SS, VFNMSUB213SS, VFNMSUB231SS引信负数乘以VFPCLASSPD包装浮点64值的测试类型VFPCLASSPHFP16 包装值的测试类型VFPCLASSPS包装浮点32值的测试类型VFPCLASSSD标量浮点数的测试类型VFPCLASSSH标量 FP16 值的测试类型VFPCLASSSS测试 标量 浮点数32 类型VGATHERDPD, VGATHERQPD使用 打包双精度浮点值 来集合VGATHERDPS, VGATHERDPD组合包装单笔, 包式双笔, 有签名的字词索引VGATHERDPS, VGATHERQPS使用 打包单精度浮点值 来集合VGATHERQPS, VGATHERQPD组合包装单笔, 包式双笔, 有签名的字词索引VGETEXPPD将 打包双精度浮点值 的指数转换为双倍VGETEXPPH将包装的 FP16 值转换为 FP16 值VGETEXPPS将 打包单精度浮点值 的指数转换为单一VGETEXPSD将 标量 双精度浮点 值转换为双倍值VGETEXPSH将 标量 FP16 值转换为 FP16 值VGETEXPSS将 标量 单精度浮点 值转换为单值VGETMANTPDFloat64 来自Float64的普通曼提萨的矢量VGETMANTPH从 FP16 矢量中提取 FP16 常态化曼提萨的矢量VGETMANTPSFloat32 从 Float32 提取普通曼提萨的矢量VGETMANTSD从 Float64 标量 提取正常化的 Mantissa 的浮图64VGETMANTSH从 FP16 Scalar 中提取 FP16 规范化曼提萨VGETMANTSS从 Float32 标量 提取正常化曼提萨的矢量VMASKMOV有条件的 SIMD 包装负载和存储VMAXPH返回已包装的 FP16 最大值VMAXSH返回 标量 FP16 最大值VMINPH返回最小包装的 FP16 值VMINSH返回最小 标量 FP16 值VMOVSH移动 标量 FP16 值VMOVW移动单词VMULPH乘以包装的 FP16 值VMULSH乘以 标量 FP16 值VP2INTERSECTD, VP2INTERSECTQ计算 DWORDS / QUADWORDS 之间的间断VP4DPWSSD带有字数累积的署名词的点产品( 4- 迭代)VP4DPWSSDS带有填字积累和饱和的署名词的点产品VPBLENDD组合词VPBLENDMB, VPBLENDMW使用 Opmask 控制器混合字节/ Word 矢量VPBLENDMD, VPBLENDMQ使用 Opmask 控制器的混合进式32/Int64矢量VPBROADCAST装入整数和广播VPBROADCASTB, VPBROADCASTW, VPBROADCASTD, VPBROADCASTQ从一般用途登记册装入广播整数数据VPBROADCASTM广播遮罩到矢量记录VPCMPB, VPCMPUB比较包装的字节值输入遮盖VPCMPD, VPCMPUD将包装的整数值输入遮罩VPCMPQ, VPCMPUQ将包装的整数值输入遮罩VPCMPW, VPCMPUW比较包装的字值输入遮盖VPCOMPRESSB, VCOMPRESSW存储 Sparse 包装字节/ Word 整数值VPCOMPRESSD存储 Sparse 包装的双字组值VPCOMPRESSQ存储已包装的四字形整数值VPCONFLICTD, VPCONFLICTQ检测包装词/词值的矢量内的冲突VPDPBSUD, VPDPBSUDS, VPDPBUUD, VPDPBUUDS, VPDPBSSD, VPDPBSSDS乘并添加未签名和已签名的字节VPDPBUSD乘并添加未签名和已签名字节VPDPBUSDS以饱和度乘以并添加未签名和已签名字节VPDPWSSD乘并添加已签名的单词整数VPDPWSSDS用饱和度乘法并添加已签名的单词整数VPDPWSUD, VPDPWSUDS, VPDPWUSD, VPDPWUSDS, VPDPWUUD, VPDPWUUDS乘并添加未签名和已签名的单词VPERM2F128纯度 浮点值VPERM2I128整数VPERMB永久包装字节元素VPERMD, VPERMW永久包装双字/字元VPERMI2B从两个表格覆盖索引的字节全长VPERMI2W, VPERMI2D, VPERMI2Q, VPERMI2PS, VPERMI2PD从两个表格中完全覆盖索引VPERMILPD双精度浮点 值的偶数VPERMILPS单精度浮点 的四边形值VPERMPD永久 双精度浮点 元素VPERMPS永久 单精度浮点 元素VPERMQ字词元素VPERMT2B由两个表格构成的字节全长VPERMT2W, VPERMT2D, VPERMT2Q, VPERMT2PS, VPERMT2PD从两个表格覆盖一个表格VPEXPANDB, VPEXPANDW扩展字节/字节值VPEXPANDD从 Dense 内存/ 注册中装入包装的双字组值VPEXPANDQ从 Dense 内存/ 注册器装入包装的四字形整数值VPGATHERDD, VPGATHERDQ组合包装的词, 包装带有签名的词索引的词VPGATHERDD, VPGATHERQD使用已签名的 Dword/ Qword 索引集合包装的字值VPGATHERDQ, VPGATHERQQ使用已签名的 Dword/ Qword 索引集合包装的字值VPGATHERQD, VPGATHERQQ组合包装的字, 带有签名的字索引的包装字VPLZCNTD, VPLZCNTQ计算包装词、包装词值的引导零位数VPMADD52HUQ无签名的52比特 无符号整数和添加高52比特的倍数VPMADD52LUQ未签名的52比特整数和添加低52比特产品VPMASKMOV有条件的 SIMD 整数包装负载和存储VPMOVB2M, VPMOVW2M, VPMOVD2M, VPMOVQ2M将矢量记录转换为遮罩VPMOVDB, VPMOVSDB, VPMOVUSDB向下转换 DWord 到字节VPMOVDW, VPMOVSDW, VPMOVUSDW向下转换 DWord 到 WordVPMOVM2B, VPMOVM2W, VPMOVM2D, VPMOVM2Q将遮罩登记器转换为矢量VPMOVQB, VPMOVSQB, VPMOVUSQB将 QWord 转换为字节VPMOVQD, VPMOVSQD, VPMOVUSQD将 QWord 转换为 DWordVPMOVQW, VPMOVSQW, VPMOVUSQW将 QWord 转换为文字VPMOVWB, VPMOVSWB, VPMOVUSWB将单词向下转换为字节VPMULTISHIFTQB从四字形源选择包装的未对齐字节VPOPCNT返回 BYTE/WORD/DWORD/QWORD中的位数集数为 1VPROLD, VPROLVD, VPROLQ, VPROLVQ左侧位旋转VPRORD, VPRORVD, VPRORQ, VPRORVQ右侧位旋转VPSHLD连接和移动数据包左侧逻辑VPSHLDV连接和可变移动包装左侧数据逻辑VPSHRD连接和移动包装的数据右逻辑VPSHRDV连接和可变移动包装右侧数据逻辑VPSHUFBITQMB使用字节索引从四字节元素切换位数VPSLLVW, VPSLLVD, VPSLLVQ可变位左移逻辑VPSRAVW, VPSRAVD, VPSRAVQ可变位右移算术VPSRLVW, VPSRLVD, VPSRLVQ可变位右移逻辑VPTERNLOGD, VPTERNLOGQ位元逻辑VPTESTMB, VPTESTMW, VPTESTMD, VPTESTMQ逻辑 AND 和设置遮罩VPTESTNMB, VPTESTNMW, VPTESTNMD, VPTESTNMQ逻辑 NAND 和 设置VRANGEPD包装方位浮点64值的幅度限制计算VRANGEPS包装的浮点32值限制范围计算VRANGESD范围限制从 标量 浮点数平方计算VRANGESS范围限制从 标量 浮点32 的对价计算VRCP14PD计算包装浮点64的相对数值VRCP14PS计算包装浮点32值的对称性VRCP14SD计算 标量 浮点数的相对值64VRCP14SS计算 标量 浮点数32 的相对值VRCP28PD打包双精度浮点值 对等VRCP28PS打包单精度浮点值 对等VRCP28SD标量 双精度浮点 对等值VRCP28SS标量 单精度浮点 对等值VRCPPH计算包装的 FP16 值的对称VRCPSH计算 标量 FP16 值VREDUCEPD在包装的浮点64值上进行还原转换VREDUCEPH在包装的 FP16 值上进行还原转换VREDUCEPS在包装的浮点32值上进行还原转换VREDUCESD在 标量 浮点64 值上进行还原转换VREDUCESH在 标量 FP16 值上执行还原转换VREDUCESS在 标量 浮点32 值上进行还原转换VRNDSCALEPD圆包浮点64 数值以包含一定的分数位数VRNDSCALEPH回合包装的 FP16 值包含一定的分数位数VRNDSCALEPS圆包浮点32 数值以包含一定的分数位数VRNDSCALESD标量 Float64 回合值包含一个特定小数位VRNDSCALESH圆形 标量 FP16 值包含一个特定的小数位数VRNDSCALESS回合 标量 浮点32 数值包含一定的分数位数VRSQRT14PD计算包装浮点的平方根的近似对称VRSQRT14PS计算包装浮点32平方根的近似对称值VRSQRT14SD计算 标量 Float64 平方根的近似对称VRSQRT14SS计算 标量 Float32 的平方根的对称性VRSQRT28PD类似包装双精度的对等方形根VRSQRT28PS对包装单精度的对等方形根VRSQRT28SD标量 双精度对等方形根VRSQRT28SS标量 单精度浮动的对等方根VRSQRTPH计算包装的 FP16 值的平方根对称VRSQRTSH计算 标量 FP16 值的平方根的对称性VSCALEFPD以浮点64值缩放的浮点64值VSCALEFPH以 FP16 值缩放的 FP16 值VSCALEFPS以浮点32值缩放的浮点32值VSCALEFSD标量 浮图64 数值VSCALEFSH缩放 标量 FP16 值与 FP16 值VSCALEFSS缩放 标量 浮点32 值与浮点32 值VSHA512MSG1对下四张 SHA512 信件进行中间计算VSHA512MSG2执行下四个 SHA512 信件词的最后计算VSHA512RNDS2执行两轮 SHA512 操作VSM3MSG1执行下四个 SM3 信件单词的初始计算VSM3MSG2执行下四个 SM3 信件单词的最终计算VSM3RNDS2执行两轮 SM3 操作VSM4KEY4执行 SM4 密钥 四轮扩展VSM4RNDS4执行 SM4 四轮加密VSQRTPH计算包装的 FP16 值的方根VSQRTSH计算 标量 FP16 值的平方根VSUBPH减法包装的 FP16 值VSUBSH减去 标量 FP16 数值VTESTPD, VTESTPS包装的位测试VUCOMISH无序比较 标量 FP16 值和设置 EFLAGSVZEROALL0XMM, YMM, 和 ZMM 登记册VZEROUPPERYMM 和 ZMM 的上位数
W
WAIT, FWAIT单单WBINVD回写无效缓存WBNOINVD回写和不无效缓存WRFSBASE, WRGSBASE写FS/GS分部基地WRMSR写入模式特定注册WRMSRLIST写入特定示范登记册清单WRMSRNS非序列化写入模型特定登记册WRPKRU将数据写入用户页面 密钥 注册WRSSD, WRSSQ写入阴影堆栈WRUSSD, WRUSSQ写入用户阴影堆栈
X
XABORT交易中止XACQUIRE, XRELEASE硬件锁 Elision 前缀提示XADD交换和添加XBEGIN交易开始XCHG交换登记册/有登记册的记忆XEND交易结束XGETBV获取扩展 控制寄存器 的值XLAT, XLATB表格查询翻译XOR逻辑专属或XORPD打包双精度浮点值的逻辑 XORXORPS打包单精度浮点值的逻辑 XORXRESLDTRK恢复跟踪装载地址XRSTOR恢复处理器扩展国家XRSTORS恢复处理器扩展国监督员XSAVE保存处理器扩展状态XSAVEC用缩合物保存处理器扩展状态XSAVEOPT保存处理器扩展状态优化XSAVES保存处理器扩展状态监督XSETBV设置扩展 控制寄存器XSUSLDTRK悬停跟踪加载地址XTEST在交易执行中测试
字母索引回答“这条指令做什么”,而映射表回答相反的问题,也就是读字节时面对的问题:“操作码 8B 是什么”。
一个格子可能有多条指令。区分它们的信息一并给出:强制前缀(66、F2、F3),以及操作码通过 ModRM 的 reg 字段扩展时的 /0 到 /7。REX.W 不会划分映射表:它只改变格子中已有形式的操作数宽度。
单字节操作码
244 个已占用格子,共 539 种编码形式。
0F 之后的操作码
234 个已占用格子,共 892 种编码形式。
0F 38 之后的操作码
196 个已占用格子,共 501 种编码形式。
0F 3A 之后的操作码
64 个已占用格子,共 133 种编码形式。
MAP5 之后的操作码
25 个已占用格子,共 50 种编码形式。
| 高 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | ||||||||||||||||
| 1 | VMOVSH EVEX | VMOVSH EVEX | VCVTPS2PHX EVEXVCVTSS2SH EVEX | |||||||||||||
| 2 | VCVTSI2SH EVEX | VCVTTSH2SI EVEX | VCVTSH2SI EVEX | VUCOMISH EVEX | VCOMISH EVEX | |||||||||||
| 3 | ||||||||||||||||
| 4 | ||||||||||||||||
| 5 | VSQRTPH EVEXVSQRTSH EVEX | VADDPH EVEXVADDSH EVEX | VMULPH EVEXVMULSH EVEX | VCVTPD2PH EVEXVCVTPH2PD EVEXVCVTSD2SH EVEXVCVTSH2SD EVEX | VCVTDQ2PH EVEXVCVTPH2DQ EVEXVCVTQQ2PH EVEXVCVTTPH2DQ EVEX | VSUBPH EVEXVSUBSH EVEX | VMINPH EVEXVMINSH EVEX | VDIVPH EVEXVDIVSH EVEX | VMAXPH EVEXVMAXSH EVEX | |||||||
| 6 | VMOVW EVEX | |||||||||||||||
| 7 | VCVTTPH2UDQ EVEXVCVTTPH2UQQ EVEXVCVTTSH2USI EVEX | VCVTPH2UDQ EVEXVCVTPH2UQQ EVEXVCVTSH2USI EVEX | VCVTTPH2QQ EVEXVCVTUDQ2PH EVEXVCVTUQQ2PH EVEX | VCVTPH2QQ EVEXVCVTUSI2SH EVEX | VCVTTPH2UW EVEXVCVTTPH2W EVEX | VCVTPH2UW EVEXVCVTPH2W EVEXVCVTUW2PH EVEXVCVTW2PH EVEX | VMOVW EVEX | |||||||||
| 8 | ||||||||||||||||
| 9 | ||||||||||||||||
| A | ||||||||||||||||
| B | ||||||||||||||||
| C | ||||||||||||||||
| D | ||||||||||||||||
| E | ||||||||||||||||
| F |
MAP6 之后的操作码
37 个已占用格子,共 38 种编码形式。
| 高 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | ||||||||||||||||
| 1 | VCVTPH2PS EVEXVCVTSH2SS EVEX | |||||||||||||||
| 2 | VSCALEFPH EVEX | VSCALEFSH EVEX | ||||||||||||||
| 3 | ||||||||||||||||
| 4 | VGETEXPPH EVEX | VGETEXPSH EVEX | VRCPPH EVEX | VRCPSH EVEX | VRSQRTPH EVEX | VRSQRTSH EVEX | ||||||||||
| 5 | VFCMADDCPH EVEX | VFCMADDCSH EVEX | ||||||||||||||
| 6 | ||||||||||||||||
| 7 | ||||||||||||||||
| 8 | ||||||||||||||||
| 9 | VFMADD132PH EVEX | VFMADD132SH EVEX | VFMSUB132PH EVEX | VFMSUB132SH EVEX | VFMADD132PH EVEX | VFMADD132SH EVEX | VFMSUB132PH EVEX | VFMSUB132SH EVEX | ||||||||
| A | VFMADD132PH EVEX | VFMADD132SH EVEX | VFMSUB132PH EVEX | VFMSUB132SH EVEX | VFMADD132PH EVEX | VFMADD132SH EVEX | VFMSUB132PH EVEX | VFMSUB132SH EVEX | ||||||||
| B | VFMADD132PH EVEX | VFMADD132SH EVEX | VFMSUB132PH EVEX | VFMSUB132SH EVEX | VFMADD132PH EVEX | VFMADD132SH EVEX | VFMSUB132PH EVEX | VFMSUB132SH EVEX | ||||||||
| C | ||||||||||||||||
| D | VFCMULCPH EVEX | VFCMULCSH EVEX | ||||||||||||||
| E | ||||||||||||||||
| F |