Assembleur 80x86 | PSHUFB |
---|---|
SSSE3 | Packed Shuffle Bytes |
Syntaxe
PSHUFB destination, source |
Description
Cette instruction permet d'effectuer un mélange des octets en place dans l'opérande de destination avec un masque de contrôle dans l'opérande source.
Algorithme
SI taille de l'opérande = 64 bits ALORS POUR POUR i ← 0 JUSQU'A 7 SI source((i x 8) + 7) = 1 ALORS destination((i x 8) + 7 ..(i x 8) + 0) ← 0 SINON index(2..0) ← source((i x 8) + 2 .. (i x 8) + 0) destination((i x 8) + 7 ..(i x 8) + 0) ← destination((index x 8 + 7)..(index x 8 + 0)) FIN SI FIN BOUCLE POUR SINON SI taille de l'opérande = 128 bits ALORS BOUCLE POUR i ← 0 JUSQU'A 15 SI source((i x 8) + 7) = 1 ALORS destination((i x 8) + 7 .. (i x 8) + 0) ← 0 SINON index(3..0) ← source((i x 8) + 3 .. (i x 8) + 0) destination((i x 8) + 7 .. (i x 8) + 0) ← destination((index x 8 + 7)..(index x 8 + 0)) FIN SI FIN BOUCLE POUR FIN SI |
Mnémonique
Instruction | Opcode | Description |
---|---|---|
PSHUFB mm1,mm2/m64 | 0Fh 38h 00h /r | Cette instruction permet d'effectuer un mélange des octets en place dans l'opérande de destination avec un masque de contrôle dans l'opérande source. |
PSHUFB xmm1,xmm2/m128 | 66h 0Fh 38h 00h /r | Cette instruction permet d'effectuer un mélange des octets en place dans l'opérande de destination avec un masque de contrôle dans l'opérande source. |
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 247 à 251.
Dernière mise à jour : Vendredi, le 5 septembre 2014