10 votes

L'instruction PADDD est-elle réellement prise en charge par MMX, même si elle est absente du manuel d'Intel ?

J'ai écrit ce code en NASM :

PADDD mm0, mm1

Et il a été assemblé sans erreur, mais cette instruction, bien qu'elle existe dans le NASM, je n'ai pas pu la trouver dans les manuels d'instructions d'Intel, tout ce que j'ai trouvé est ceci :

PADDD xmm1, xmm2/m128

Ce qui prend un xmm et non un mm registre.
C'est l'opcode de PADDD mm0, mm1 : 0FFEC1
Et voici l'opcode de PADDD xmm0, xmm1 : 660FFEC1
Alors pourquoi PADDD mm0, mm1 est absent des manuels d'instructions d'Intel ?

6voto

Johan Points 34755

Il s'agit d'un simple cas de typo/omission dans la version actuelle des manuels d'Intel.

Sur ce site qui héberge une copie des docs Intel (bien que pas nécessairement les derniers docs Intel), l'opcode pour MMX est présent :

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.

Vous le trouverez également dans un ancien manuel Intel de 2005 ainsi que dans la version de mars 2017.

Il n'y a rien à voir ici ; veuillez passer votre chemin.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X