Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly MMX是否实际支持padd指令,即使它';英特尔&x27;什么是手册?_Assembly_X86_Mmx - Fatal编程技术网

Assembly MMX是否实际支持padd指令,即使它';英特尔&x27;什么是手册?

Assembly MMX是否实际支持padd指令,即使它';英特尔&x27;什么是手册?,assembly,x86,mmx,Assembly,X86,Mmx,我用NASM编写了以下代码: PADDD mm0, mm1 它组装时没有错误,但是这条指令,尽管它存在于NASM中,但我在英特尔指令手册中找不到它,我只找到了以下内容: PADDD xmm1, xmm2/m128 它采用xmm寄存器,而不是mm寄存器。 这是padd mm0、mm1的操作码:0FFEC1 这是paddxmm0,xmm1的操作码:660FFEC1 那么为什么英特尔的说明手册中缺少padd mm0,mm1?这是当前版本英特尔手册中的一个简单的打字/遗漏案例 在上,它承载英特尔文档

我用NASM编写了以下代码:

PADDD mm0, mm1
它组装时没有错误,但是这条指令,尽管它存在于NASM中,但我在英特尔指令手册中找不到它,我只找到了以下内容:

PADDD xmm1, xmm2/m128
它采用
xmm
寄存器,而不是
mm
寄存器。
这是padd mm0、mm1的操作码:0FFEC1
这是paddxmm0,xmm1的操作码:660FFEC1

那么为什么英特尔的说明手册中缺少
padd mm0,mm1

这是当前版本英特尔手册中的一个简单的打字/遗漏案例

在上,它承载英特尔文档的副本(虽然不是最新英特尔文档所必需的),则存在
MMX
的操作码:

您还可以在中找到它,以及2017年3月的版本


这里没什么可看的;请继续。

我不知道你的来源,但它存在。@BenSteffan我在这里也找到了它:。但在手册中,它并不存在。你似乎是对的。在最新的研究中,mmx变体明显缺失。在较旧版本中列出了它。为了记录在案,它也出现在2017年3月的第2卷中。
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.