Section courante

A propos

Section administrative du site

Assembleur 80x86

PMADDUBSW

SSSE3 Multiply and Add Packed Signed and Unsigned Bytes

Syntaxe

PMADDUBSW dest,source

Description

Cette instruction permet d'effectuer une multiplication vertical de chacun des octets d'un opérande de destination avec les octets (entier) d'un opérande source et produit des entiers 16 bits intermédiaire.

Algorithme

SI opérande dest est 128 bits ALORS
   dest(15..0) ← SaturateToSignedWord(source(15..8) x dest(15..8) + source(7..0) x dest(7..0))
   dest(127..112) ← SaturateToSignedWord(source(127..120) x dest(127..120) + source(119..112) x dest(119..112))
SINON
   dest(15..0) ← SaturateToSignedWord(source(15..8) x dest(15..8) + source(7..0) x dest(7..0))
   dest(31..16) ← SaturateToSignedWord(source(31..24) x dest(31..24) + source(23..16) x dest(23..16))
   dest(47..32) ← SaturateToSignedWord(source(47..40) x dest(47..40) + source(39..32) x dest(39..32))
   dest(63..48) ← SaturateToSignedWord(source(63..56) x dest(63..56) + source(55..48) x dest(55..48))
FIN SI dest ← (dest ∩ ¬ (masque)) U ((source << (compteur x 16)) ∩ masque)

Mnémonique

Instruction Opcode Description
PMADDUBSW mm1, mm2/m64 0Fh 38h 04h /r Cette instruction permet d'effectuer une multiplication vertical de chacun des octets d'un opérande de destination avec les octets (entier) d'un opérande source et produit des entiers 16 bits intermédiaire.
PMADDUBSW xmm1,xmm2/m128 66h 0Fh 38h 04h /r Cette instruction permet d'effectuer une multiplication vertical de chacun des octets d'un opérande de destination avec les octets (entier) d'un opérande source et produit des entiers 16 bits intermédiaire.

Références

Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2B: Instruction Set Reference, N-Z, Edition Intel, Mars 2010, Publication No. 253667-034US, page 145 à 147.

Dernière mise à jour : Samedi, le 20 septembre 2014