Section courante

A propos

Section administrative du site

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