我在 NASM 中编写了这段代码:
PADDD mm0, mm1
并且组装没有错误,但是这条指令虽然存在于NASM中,但我在英特尔指令手册中找不到它,我找到的只是这样:
PADDD xmm1, xmm2/m128
它需要一个xmm
寄存器而不是一个mm
寄存器。
这是PADDD mm0, mm1
的操作码:0FFEC1
这是 PADDD xmm0, xmm1
的操作码:660FFEC1
那么为什么英特尔的指令手册中缺少 PADDD mm0, mm1
呢?
最佳答案
这是当前版本英特尔手册中的一个简单的拼写错误/遗漏案例。
关于this site ,其中包含英特尔文档的副本(尽管不需要最新的英特尔文档),存在 MMX
的操作码:
Opcode/Instruction Op/En 64/32 bit Mode Support CPUID Feature Flag Description 0F FC /r1 PADDB mm, mm/m64 RM V/V MMX Add packed byte integers from mm/m64 and mm.
您还可以在 an older Intel manual from 2005 中找到它,以及 2017 年 3 月版本。
这里没什么可看的;请继续前进。
关于assembly - MMX 是否确实支持 PADDD 指令,尽管 Intel 手册中缺少该指令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44616973/