2017-06-18 44 views
10

Ben NASM'ın bu kodu yazmış:PADDD yönergesi, Intel'in kullanım kılavuzunda bulunmasa da, MMX tarafından gerçekten destekleniyor mu?

PADDD mm0, mm1 

Ve hatasız monte edilmiş, fakat NASM'ın var gerçi bu talimat, ben Intel Talimatları Rehberlerde bulamadım buldum hepsi bu kadar :

bir xmm kayıt olup bir mm kayıt sürer
PADDD xmm1, xmm2/m128 

.
Bu PADDD mm0, mm1 ait işlemkodu: 0FFEC1
Ve bu PADDD xmm0, xmm1 ait işlem kodu: 660FFEC1
Peki neden PADDD mm0, mm1 Intel'in Talimatlar kılavuzlarında kayıp mı?

+0

Kaynağınızı bilmiyorum, ama var [burada] (http://x86.renejeschke.de/html/file_module_x86_id_226.html). –

+0

@BenSteffan Ben de burada buldum: https://en.wikipedia.org/wiki/X86_instruction_listings. Ancak el kitabında, mevcut değil. –

+5

Doğru görünüyorsun. En son [Intel el kitabı] (https://www.intel.com/content/www/us/en/architecture-and-technology/64-ia-32-architectures-software-developer-vol-2b-manual. html) mmx varyantı özellikle yoktur. [Intel kılavuzu 2005'ten itibaren daha eski bir versiyonda (http://www.scs.stanford.edu/05au-cs240c/lab/ia32/IA32-2B.pdf) listelenmiştir. –

cevap

6

Bu, Intel'in el kitaplarının geçerli sürümünde basit bir yazım hatası/eksik durumu örneğidir.

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. 

Ayrıca an older Intel manual from 2005 bunu bulacaksınız: (son Intel dokümanlar rağmen gerekli değildir), MMX için işlemkodu mevcut Intel docs bir kopyasını barındıran this site günü

, Mart 2017 sürümünde olduğu gibi.

Burada görülecek hiçbir şey yok; lütfen ilerleyin.