Assembleur 80x86 | PSIGNW |
---|---|
SSSE3 | Packed Sign Word |
Syntaxe
PSIGNW destination, source |
Description
Cette instruction permet d'effectuer la négation de chaque mots de l'opérande de destination si la valeur du signe de l'entier des mots correspondant à l'opérande source est inférieur à 0.
Algorithme
SI taille de l'opérande = 64 bits ALORS SI source(15..0) < 0 ALORS destination(15..0) ← Neg(destination(15..0)) SINON SI source(15..0) = 0 ALORS destination(15..0) ← 0 SINON SI source(15..0) > 0 ALORS destination(15..0) ← destination(15..0) FIN SI SI source(31..16) < 0 ALORS destination(31..16) ← Neg(destination(31..16)) SINON SI source(31..16) = 0 ALORS destination(31..16) ← 0 SINON SI source(31..16) > 0 ALORS destination(31..16) ← destination(31..16) FIN SI SI source(47..32) < 0 ALORS destination(47..32) ← Neg(destination(47..32)) SINON SI source(47..32) = 0 ALORS destination(47..32) ← 0 SINON SI source(47..32) > 0 ALORS destination(47..32) ← destination(47..32) FIN SI SI source(63..48) < 0 ALORS destination(63..48) ← Neg(destination(63..48)) SINON SI source(63..48) = 0 ALORS destination(63..48) ← 0 SINON SI source(63..48) > 0 ALORS destination(63..48) ← destination(63..48) FIN SI SINON SI taille de l'opérande = 128 bits ALORS SI source(15..0) < 0 ALORS destination(15..0) ← Neg(destination(15..0)) SINON SI source(15..0) = 0 ALORS destination(15..0) ← 0 SINON SI source(15..0) > 0 ALORS destination(15..0) ← destination(15..0) FIN SI SI source(31..16) < 0 ALORS destination(31..16) ← Neg(destination(31..16)) SINON SI source(31..16) = 0 ALORS destination(31..16) ← 0 SINON SI source(31..16) > 0 ALORS destination(31..16) ← destination(31..16) FIN SI SI source(47..32) < 0 ALORS destination(47..32) ← Neg(destination(47..32)) SINON SI source(47..32) = 0 ALORS destination(47..32) ← 0 SINON SI source(47..32) > 0 ALORS destination(47..32) ← destination(47..32) FIN SI SI source(63..48) < 0 ALORS destination(63..48) ← Neg(destination(63..48)) SINON SI source(63..48) = 0 ALORS destination(63..48) ← 0 SINON SI source(63..48) > 0 ALORS destination(63..48) ← destination(63..48) FIN SI SI source(79..64) < 0 ALORS destination(79..64) ← Neg(destination(79..64)) SINON SI source(79..64) = 0 ALORS destination(79..64) ← 0 SINON SI source(79..64) > 0 ALORS destination(79..64) ← destination(79..64) FIN SI SI source(95..80) < 0 ALORS destination(95..80) ← Neg(destination(95..80)) SINON SI source(95..80) = 0 ALORS destination(95..80) ← 0 SINON SI source(95..80) > 0 ALORS destination(95..80) ← destination(95..80) FIN SI SI source(111..96) < 0 ALORS destination(111..96) ← Neg(destination(111..96)) SINON SI source(111..96) = 0 ALORS destination(111..96) ← 0 SINON SI source(111..96) > 0 ALORS destination(111..96) ← destination(15..0) FIN SI SI source(127..112) < 0 ALORS destination(127..112) ← Neg(destination(127..112)) SINON SI source(127..112) = 0 ALORS destination(127..112) ← 0 SINON SI source(127..112) > 0 ALORS destination(127..112) ← destination(127..112) FIN SI FIN SI |
Mnémonique
Instruction | Opcode | Description |
---|---|---|
PSIGNW mm1,mm2/m64 | 0Fh 38h 09h /r | Cette instruction permet d'effectuer la négation de chaque mots de l'opérande de destination si la valeur du signe de l'entier des mots correspondant à l'opérande source est inférieur à 0. |
PSIGNW xmm1,xmm2/m128 | 66h 0Fh 38h 09h /r | Cette instruction permet d'effectuer la négation de chaque mots de l'opérande de destination si la valeur du signe de l'entier des 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