Section courante

A propos

Section administrative du site

Assembleur 80x86

PSIGND

SSSE3 Packed Sign Doubleword

Syntaxe

PSIGND destination, source

Description

Cette instruction permet d'effectuer la négation de chaque double mots de l'opérande de destination si la valeur du signe de l'entier des double mots correspondant à l'opérande source est inférieur à 0.

Algorithme

SI taille de l'opérande = 64 bits ALORS
   SI source(31..0) < 0 ALORS
      destination(31..0) ← Neg(destination(31..0))
   SINON SI source(31..0) = 0 ALORS
      destination(31..0) ← 0
   SINON SI source(31..0) > 0 ALORS
      destination(31..0) ← destination(31..0)
   FIN SI
   SI source(63..32) < 0 ALORS
      destination(63..32) ← Neg(destination(63..32))
   SINON SI source(63..32) = 0 ALORS
      destination(63..32) ← 0
   SINON SI source(63..32) > 0 ALORS
      destination(63..32) ← destination(63..32)
   FIN SI
SINON SI taille de l'opérande = 128 bits ALORS
   SI source(31..0) < 0 ALORS
      destination(31..0) ← Neg(destination(31..0))
   SINON SI source(31..0) = 0 ALORS
      destination(31..0) ← 0
   SINON SI source(31..0) > 0 ALORS
      destination(31..0) ← destination(31..0)
   FIN SI
   SI source(63..32) < 0 ALORS
      destination(63..32) ← Neg(destination(63..32))
   SINON SI source(63..32) = 0 ALORS
      destination(63..32) ← 0
   SINON SI source(63..32) > 0 ALORS
      destination(63..32) ← destination(63..32)
   FIN SI
   SI source(95..64) < 0 ALORS
      destination(95..64) ← Neg(destination(95..64))
   SINON SI source(95..64) = 0 ALORS
      destination(95..64) ← 0
   SINON SI source(95..64) > 0 ALORS
      destination(95..64) ← destination(95..64)
   FIN SI
   SI source(127..96) < 0 ALORS
      destination(127..96) ← Neg(destination(127..96))
   SINON SI source(127..96) = 0 ALORS
      destination(127..96) ← 0
   SINON SI source(127..96) > 0 ALORS
      destination(127..96) ← destination(127..96)
   FIN SI
FIN SI

Mnémonique

Instruction Opcode Description
PSIGND mm1,mm2/m64 0Fh 38h 0Ah /r Cette instruction permet d'effectuer la négation de chaque double mots de l'opérande de destination si la valeur du signe de l'entier des double mots correspondant à l'opérande source est inférieur à 0.
PSIGND xmm1,xmm2/m128 66h 0Fh 38h 0Ah /r Cette instruction permet d'effectuer la négation de chaque double mots de l'opérande de destination si la valeur du signe de l'entier des double mots correspondant à l'opérande source est inférieur à 0.

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 264 à 269.

Dernière mise à jour : Vendredi, le 5 septembre 2014