Section courante

A propos

Section administrative du site

Introduction

L'ensemble instructions x86-64 sont un ensemble d'instructions disponible uniquement sur les microprocesseurs supportant le AMD64 ou Intel 64 et l'adressage en 64 bits des microprocesseurs respectifs. La liste des instructions est similaires à l'ensemble d'instructions 80x86, mais certains instructions comme AAA, AAD, BOUND,... ont été retiré de l'ensemble d'instructions en 64 bits et sont considérés comme invalide. Pour effectuer les adressages en 64 bits, le microprocesseur utilise le Mode Long.

Les instructions

Voici la liste des instructions reconnus par le x86-64 :

Instruction Description
ADC Cette instruction additionne 2 quantités numériques sur 8, 16, 32 ou 64 bits et ajoute ensuite la valeur de l'indicateur de retenue, lequel est contenu dans le drapeau CF(CARRY FLAG), à la somme obtenu.
ADCX Cette instruction permet d'effectuer une addition de l'opérande de destination (première opérande), l'opérande source (deuxième opérande) et de drapeau de retenue (CF) et entrepose le résultat dans l'opérande de destination.
ADD Cette instruction additionne 2 quantités numériques sur 8, 16, 32 ou 64 bits.
ADDPD Cette instruction permet d'effectuer une addition de 2 paquets de valeurs réels de double précision d'un opérande source et d'un opérande destination et entrepose le résultat dans l'opérande de destination sous le format d'un paquet de valeurs réels de double précision.
ADDPS Cette instruction permet d'effectuer une addition SIMD de 4 paquets de valeurs réels de simple précision d'un opérande source et d'un opérande destination et entrepose le résultat dans l'opérande de destination sous le format d'un paquet de valeurs réels de simple précision.
ADDSD Cette instruction permet d'effectuer une addition de la partie basse d'une valeur réel de double précision d'un opérande source et destination et entrepose le résultat dans un opérande de destination de valeur réel de double précision.
ADDSS Cette instruction permet d'effectuer une addition de la partie basse d'une valeur réel de simple précision d'un opérande source et destination et entrepose le résultat dans un opérande de destination de valeur réel de simple précision.
ADDSUBPD Cette instruction permet d'effectuer une soustraction de la partie basse d'une valeur réel de double précision d'un opérande source et destination et entrepose le résultat dans un opérande de destination de valeur réel de double précision et d'effectuer une addition de la partie haute d'une valeur réel de double précision d'un opérande source et destination et entrepose le résultat dans un opérande de destination de valeur réel de double précision.
ADDSUBPS Cette instruction permet d'effectuer une soustraction de la partie basse d'un paquet de valeur réel de simple précision d'un opérande source et destination et entrepose le résultat dans un opérande de destination de valeur réel de simple précision et d'effectuer une addition de la partie haute d'un paquet de valeur réel de simple précision d'une opérande source et destination et entrepose le résultat dans un opérande de destination de valeur réel de simple précision.
AESDEC Cette instruction permet d'effectuer un arrondissement du décryptage AES en utilisant l'équivalence de Cipher inversé, avec un clef arrondie pour le deuxième opérande source, opération dans une données de 128 bits du premier opérande source, et enregistre le résultat dans l'opérande de destination.
AESDECLAST Cette instruction permet d'effectuer le dernier arrondissement du décryptage AES en utilisant l'équivalence de Cipher inversé, avec un clef arrondie pour le deuxième opérande source, opération dans une données de 128 bits du premier opérande source, et enregistre le résultat dans l'opérande de destination.
AESENC Cette instruction permet d'effectuer un arrondissement d'encryptage AES en utilisant la clef arrondie pour le deuxième opérande source, opération dans une données de 128 bits du premier opérande source, et enregistre le résultat dans l'opérande de destination.
AESENCLAST Cette instruction permet d'effectuer le dernier arrondissement d'encryptage AES en utilisant la clef arrondie pour le deuxième opérande source, opération dans une données de 128 bits du premier opérande source, et enregistre le résultat dans l'opérande de destination.
AESIMC Cette instruction permet d'effectuer une transformation InvMixColumns de l'opérande source et enregistre le résultat dans l'opérande de destination.
AESKEYGENASSIST Cette instruction permet d'effectuer l'expansion de clef AES Cipher, en calculant la génération des clefs arrondies pour l'encryption, en utilisant les données 128 bits spécifiés de l'opérande source et de la constante arrondie arrondie 8 bits spécifié immédiate et enregistre le résultat dans l'opérande de destination.
AND Cette instruction permet d'effectuer un ET BINAIRE sur les 2 opérandes spécifiés.
ANDNPD Cette instruction permet d'effectuer un ET BINAIRE sur les 2 paquets d'opérandes de valeur de format réel de double précision et inverse chacun des bits du résultat.
ANDNPS Cette instruction permet d'effectuer un ET BINAIRE sur les 2 opérandes 128 bits spécifiés et inverse chacun des bits du résultat.
ANDPD Cette instruction permet d'effectuer un ET BINAIRE sur les 2 paquets d'opérandes de valeur de format réel de double précision.
ANDPS Cette instruction permet d'effectuer un ET BINAIRE sur les 2 opérandes 128 bits spécifiés.
ARPL Cette instruction permet de contrôler et corriger le niveau de privilège du segment de code en mode protégée.
BLENDPD Cette instruction permet de copier le paquet de valeurs réel de double précisions de l'opérande source dans l'opérande de destination si la condition de masque de l'opérande immédiate est rempli.
BLENDPS Cette instruction permet de copier le paquet de valeurs réel de simple précisions de l'opérande source dans l'opérande de destination si la condition de masque de l'opérande immédiate est rempli.
BLENDVPD Cette instruction permet de copier le paquet de valeurs réel de double précisions de l'opérande source dans l'opérande de destination si la condition de masque de l'opérande du troisième opérande en registre est rempli.
BLENDVPS Cette instruction permet de copier le paquet de valeurs réel de simple précisions de l'opérande source dans l'opérande de destination si la condition de masque de l'opérande du troisième opérande en registre est rempli.
BSF Cette instruction permet d'effectuer une comparaison binaire de la droite vers la gauche.
BSR Cette instruction permet d'effectuer une comparaison binaire de la gauche vers la droite.
BSWAP Cette instruction permet d'inverse l'ordre des 4 octets d'un registre de taille de 32 bits.
BT Cette instruction permet de transférer une Opérande vers l'indicateur de retenue.
BTC Cette instruction transfère une Opérande vers l'indicateur de retenue le bit spécifié et inverser la valeur du bit correspondant.
BTR Cette instruction permet de transférer l'Opérande vers l'indicateur de retenue le bit spécifié puis met le bit correspondant de l'Opérande à 0.
BTS Cette instruction permet de transférer une Opérande vers l'indicateur de retenue le bit spécifié puis ensuite met le bit correspondant dans Opérande à 1.
CALL Cette instruction force le microprocesseur à exécuter les instructions du sous-programme indiqué par l'adresse d'appel avant de continuer.
CBW Cette instruction permet de convertir un nombre contenu dans le registre AL en un format sur 16 bits pour se retrouver dans le registre AX en appliquant une extension du signe.
CDQ Cette instruction permet de convertir le double mot en un quadruple mot, le résultat tient sur une taille de 64 bits.
CDQE Cette instruction permet de convertir le double mot du registre EAX en un quadruple mot RAX, le résultat tient sur une taille de 64 bits.
CLC Cette instruction permet de mettre l'indicateur d'état de retenu CF à 0.
CLD Cette instruction met l'indicateur d'état DF à 0.
CLFLUSH Cette instruction permet de vider la ligne de cache d'une adresse linéaire.
CLI Cette instruction met l'indicateur d'état IF à 0.
CLTS Cette instruction permet de mettre à 0 le drapeau de l'indicateur de tâche (Task-Switch) du registre CR0.
CMC Cette instruction offre la possibilité d'inverser la valeur de l'indicateur de retenue. Si ce dernier vaut 1, elle le met à 0 et inversement.
CMOV Cette instruction copie des données d'une source (valeur) à une destination (registre) à la condition que la condition demandée soit remplie.
CMP Cette instruction offre la possibilité essentielle de comparer 2 registres ou emplacements de mémoire.
CMPPD Cette instruction permet d'effectuer une comparaison SIMD de 2 paquets de valeurs réels de double précision d'un opérande source et d'un opérande destination et entrepose le résultat de la comparaison dans l'opérande de destination.
CMPPS Cette instruction permet d'effectuer une comparaison SIMD de 4 paquets de valeurs réels de simple précision d'un opérande source et d'un opérande destination et entrepose le résultat de la comparaison dans l'opérande de destination.
CMPS Cette instruction permet d'effectuer la comparaison d'un octet, d'un mot ou double mot spécifié avec l'opérande source et destination spécifié et fixe l'état des drapeaux du registres EFLAGS en fonction des résultats de la comparaison.
CMPSB Cette instruction permet d'effectuer la comparaison d'un octet avec l'opérande source (DS:(R)SI) et destination (ES:(R)DI) et fixe l'état des drapeaux du registres EFLAGS en fonction des résultats de la comparaison.
CMPSD Cette instruction permet d'effectuer la comparaison d'un double mot avec l'opérande source (DS:(R)SI) et destination (ES:(R)DI) et fixe l'état des drapeaux du registres EFLAGS en fonction des résultats de la comparaison.
CMPSD Cette instruction permet d'effectuer une comparaison de la partie basse de valeurs réelles de double précision d'un opérande source et d'un opérande destination et entrepose le résultat de la comparaison dans l'opérande de destination.
CMPSQ Cette instruction permet d'effectuer la comparaison d'un quadruple mot avec l'opérande source (DS:(R)SI) et destination (ES:(R)DI) et fixe l'état des drapeaux du registres EFLAGS en fonction des résultats de la comparaison.
CMPSS Cette instruction permet d'effectuer une comparaison de la partie basse de valeurs réelles de simple précision d'un opérande source et d'un opérande destination et entrepose le résultat de la comparaison dans l'opérande de destination.
CMPSW Cette instruction permet d'effectuer la comparaison d'un mot avec l'opérande source (DS:(R)SI) et destination (ES:(R)DI) et fixe l'état des drapeaux du registres EFLAGS en fonction des résultats de la comparaison.
CMPXCHG Cette instruction compare la destination avec l'accumulateur (AL, AX ou EAX) et les échanges si la condition est vraie.
CMPXCHG8B Cette instruction compare un nombre de 64 bits et les échanges si la condition est vraie.
CMPXCHG16B Cette instruction permet de comparer un nombre de 128 bits et les échanges si la condition est vraie.
COMISD Cette instruction permet de comparer deux valeurs réel de double-précision dans la partie faible du quadruple mot de deux opérande et fixe les drapeaux de ZF, PF et FC du registre EFLAGS en fonction du résultat (non-ordonnée, supérieur à, inférieur ou égal).
COMISS Cette instruction permet de comparer deux valeurs réel de simple-précision dans la partie faible du quadruple mot de deux opérande et fixe les drapeaux de ZF, PF et FC du registre EFLAGS en fonction du résultat (non-ordonnée, supérieur à, inférieur ou égal).
CPUID Cette instruction retourne le code d'identification du microprocesseur.
CQO Cette instruction permet de convertir le quadruple mot du registre EAX en deux quadruples mots RDX:RAX, le résultat tient sur une taille de 128 bits.
CRC32 Cette instruction débute avec une valeur initiale dans l'opérande de destination, accumule une valeur de code CRC-32 (polynomial de 11EDC6F41h) dans l'opérande source et enregistre le résultat dans l'opérande de destination.
CVTDQ2PD Cette instruction permet d'effectuer la conversion d'un paquet de double mot entier en valeurs réel de double précision.
CVTDQ2PS Cette instruction permet d'effectuer la conversion d'un paquet de double mot entier en valeurs réel de simple précision.
CVTPD2DQ Cette instruction permet d'effectuer la conversion d'un paquet de valeurs réel de double précision en double mot entier et fixe à 0 le reste du paquet.
CVTPD2PI Cette instruction permet d'effectuer la conversion d'un paquet de valeurs réel de double précision en double mot entier.
CVTPD2PS Cette instruction permet d'effectuer la conversion d'un paquet de valeurs réel de double précision en valeurs réel de simple précision et fixe à 0 le reste du paquet.
CVTPI2PD Cette instruction permet d'effectuer la conversion d'un paquet de double mot entier en valeurs réel de double précision compacté.
CVTPI2PS Cette instruction permet de convertir un entier de format double mot en une valeur réel de simple précision compacté.
CVTPS2DQ Cette instruction permet d'effectuer la conversion d'un paquet de valeurs réel de simple précision en paquet de doubles mots entiers.
CVTPS2PD Cette instruction permet d'effectuer la conversion d'un paquet de valeurs réel de simple précision en paquet de valeurs réel de double précision.
CVTPS2PI Cette instruction permet de convertir une valeur réel de simple précision compacté en un entier de format double mot.
CVTSD2SI Cette instruction permet d'effectuer la conversion d'une valeur réel de simple précision en valeur entier de double mots.
CVTSD2SS Cette instruction permet d'effectuer la conversion d'une valeur réel de double précision en valeur réel de simple précision.
CVTSI2SD Cette instruction permet de convertir un entier de format double mot en une valeur réel de double précision.
CVTSI2SS Cette instruction permet de convertir un entier de format double mot en une valeur réel de simple précision.
CVTSS2SD Cette instruction permet de convertir une valeur réel de simple précision en une valeur réel de double précision.
CVTSS2SI Cette instruction permet de convertir une valeur réel de simple précision en un entier de format double mot.
CVTTPD2DQ Cette instruction permet de convertir un paquet de valeur réel de double précision avec en un paquet d'entier de format double mot tronquer et fixe à 0 le reste du paquet.
CVTTPD2PI Cette instruction permet de convertir une valeur réel de double précision compacté avec tronquage en un entier de format double mot compacté.
CVTTPS2DQ Cette instruction permet de convertir un paquet de valeur réel de simple précision avec en un paquet d'entier de format double mot tronquer.
CVTTPS2PI Cette instruction permet de convertir une valeur réel de simple précision compacté avec tronquage en un entier de format double mot compacté.
CVTTSD2SI Cette instruction permet de convertir une valeur réel de double précision avec en un entier de format double mot tronquer.
CVTTSS2SI Cette instruction permet de convertir un entier de format double mot avec tronquage en une valeur réel de simple précision.
CWD Cette instruction est l'alternative pour convertir le mot du registre AX en un double mot contenu dans le couple de registre DX et AX par extension du signe.
CWDE Cette instruction est l'alternative pour convertir le mot du registre AX en un double mot contenu dans le registre EAX par extension du signe.
DEC Cette instruction décrément de 1 le registre ou l'adresse mémoire spécifié.
DIV Cette instruction permet d'effectuer une division non-signée (nombre naturel).
DIVPD Cette instruction permet d'effectuer une division de valeur réel de double précision de registre XMM ou d'emplacement mémoire de 128 bits.
DIVPS Cette instruction permet d'effectuer une division de valeur réel de simple précision de registre XMM ou d'emplacement mémoire de 128 bits.
DIVSD Cette instruction permet d'effectuer une division scalaire de valeur réel de double précision de registre XMM ou d'emplacement mémoire de 128 bits.
DIVSS Cette instruction permet d'effectuer une division scalaire de valeur réel de simple précision de registre XMM ou d'emplacement mémoire de 128 bits.
DPPD Cette instruction permet d'effectuer une multiplication conditionnel d'un paquet de valeurs réel de double précision dans l'opérande de destination avec le paquet de valeurs réel de l'opérande source et effectue un masque des bits extrait d'un opérande immédiat.
DPPS Cette instruction permet d'effectuer une multiplication conditionnel d'un paquet de valeurs réel de simple précision dans l'opérande de destination avec le paquet de valeurs réel de l'opérande source et effectue un masque des bits extrait d'un opérande immédiat.
EMMS Cette instruction fixe les mots marqués du MPU de chacun un.
ENTER Cette instruction permet de créer les structures de paramètres nécessaires aux procédures des langages de haut niveau.
F2XM1 Cette instruction permet d'effectuer le calcul de 2 puissance le registre mathématique ST(0) moins 1 et enregistre son produit dans le registre mathématique ST(0).
FABS Cette instruction permet de convertir le nombre réel contenu dans le registre mathématique ST(0) en sa valeur absolue.
FADD Cette instruction offre l'essentiel possibilité d'ajouter le nombre réel de valeur positive «source» à «cible» et enregistre la somme dans «cible».
FADDP Cette instruction complémentaire ajoute le nombre réel source au nombre réel cible et enregistrer la somme dans cible puis prendre le registre mathématique ST(0) et le dépile.
FBLD Cette instruction charge la valeur de format DCB compactée après le registre mathématique ST(0).
FBSTP Cette instruction extrait la valeur de format DCB compactée du registre mathématique ST(0), l'enregistrer dans cible et prendre le registre mathématique ST(0) et sort de la pile.
FCHS Cette instruction inverse tout simplement le signe du registre mathématique ST(0).
FCLEX Cette instruction efface toutes les exceptions contenu dans les drapeaux de registres du coprocesseur mathématique.
FCMOV Cette instruction permet de déplacé des nombres réel (virgule flottante) si la condition en question est satisfaite.
FCOM Cette instruction permet de comparer le nombre réel de valeur positive source avec le registre mathématique ST(0) et mettre les indicateurs d'état C0 à C3 avec la valeur 1.
FCOMI Cette instruction permet d'effectuer la comparaison de ST(0) avec ST(i) et fixe la valeur drapeaux ZF, PF et CF du registre EFLAGS en fonction des résultats.
FCOMIP Cette instruction permet d'effectuer la comparaison de ST(0) avec ST(i) et fixe la valeur drapeaux ZF, PF et CF du registre EFLAGS en fonction des résultats et désempile de la pile la valeur dans le registre.
FCOMP Cette instruction compare le nombre réel de valeur positive «source» avec le registre mathématique ST(0), mettre les indicateurs d'état C0 à C3 avec la valeur 1 et dépile le registre mathématique ST(0) de la pile de registres.
FCOMPP Cette instruction permet de comparer les nombres réels du registre mathématique ST(1) avec le registre mathématique ST(0), ensuite de mettre les indicateurs d'état C0 à C3 à la valeur 1 et prendre le couple de registre mathématique ST(1) et ST(0) dans la pile de registres (2 dépilages).
FCOS Cette instruction calcule le cosinus du registre mathématique ST(0).
FDECSTP Cette instruction permet de décrémenter le pointeur de pile de registres.
FDIV Cette instruction offre la possibilité d'effectuer des division de nombre réel de valeur positive.
FDIVP Cette instruction offre la possibilité d'effectuer des division de nombre réel et place ST(0) dans la pile.
FDIVR Cette instruction offre la possibilité d'effectuer des division de nombre réel de valeur positive avec les registres inversés «cible» par «source».
FDIVRP Cette instruction offre la possibilité d'effectuer des division de nombre réel avec les registres inversés «cible» par «source» et place ST(0) dans la pile.
FFREE Cette instruction permet de libérer un des registres de la pile.
FIADD Cette instruction offre l'essentiel possibilité d'ajouter le nombre réel source à cible et enregistre la somme dans cible.
FICOM Cette instruction permet de comparer le nombre réel source avec le registre mathématique ST(0) et mettre les indicateurs d'état C0 à C3 avec la valeur 1.
FICOMP Cette instruction compare le nombre réel «source» avec le registre mathématique ST(0), mettre les indicateurs d'état C0 à C3 avec la valeur 1 et dépile le registre mathématique ST(0) de la pile de registres.
FIDIV Cette instruction offre la possibilité d'effectuer des division de nombre réel.
FIDIVR Cette instruction offre la possibilité d'effectuer des division de nombre réel avec les registres inversés «cible» par «source».
FILD Cette instruction permet de charger le nombre entier auprès du registre ST(0).
FIMUL Cette instruction permet de multiplier le nombre réel «source» par «cible» et sauvegarde le résultat dans «cible».
FINCSTP Cette instruction permet d'incrémenter le pointeur de pile de registres.
FINIT Cette instruction permet d'effectuer l'initialisation du coprocesseur mathématique.
FIST Cette instruction permet de sauvegarder le nombre du registre ST(0) dans «cible».
FISTP Cette instruction permet de sauvegarder le nombre du registre ST(0) dans «cible» et prendre le registre ST(0) de la pile du registres.
FISTTP Cette instruction permet de convertir la valeur contenu dans le registre ST dans un entier en utilisant on tronquage, de type chop, lequel est un mode d'arrondissement, et transfert le résultat dans la destination et ensuite effectuer un désempilage de ST.
FISUB Cette instruction offre l'essentielle possibilité de soustraire le nombre «source» du registre ST(0).
FISUBR Cette instruction offre l'essentielle possibilité de soustraire le nombre du registre ST(0) de «source».
FLD Cette instruction permet de charger le nombre réel du registre ST(0) dans la pile.
FLD1 Cette instruction permet de charger la constante 1,0 du registre ST(0) dans la pile.
FLDCW Cette instruction permet de charger le «mot de contrôle» avec «source».
FLDENV Cette instruction permet de charger l'environnement à partir de «source».
FLDL2E Cette instruction permet de mettre le résultat du logarithme de «e» de la base 2 dans ST(0).
FLDL2T Cette instruction permet de mettre le résultat du logarithme de 10 de la base 2 dans ST(0).
FLDLG2 Cette instruction permet de mettre le résultat du logarithme de 2 de la base 10 dans ST(0).
FLDLN2 Cette instruction permet de mettre le résultat du logarithme de «e» de la base 10 dans ST(0).
FLDPI Cette instruction permet de mettre le résultat de la constante PI (Π) dans le registre ST(0).
FLDZ Cette instruction permet de mettre le résultat de la constante 0,0 dans le registre ST(0).
FMUL Cette instruction permet de multiplier le nombre réel de valeur positive «source» par «cible» et sauvegarde le résultat dans «cible».
FMULP Cette instruction permet de multiplier le nombre réel de valeur positive «source» par «cible» et sauvegarde le résultat dans «cible» et prend ensuite ST(0) dans la pile de registres.
FNCLEX Cette instruction permet d'éliminer et de gérer les exceptions non masquées.
FNINIT Cette instruction permet d'initialiser le coprocesseur mathématique et de gérer les exceptions non masquées.
FNOP Cette instruction permet de ne rien faire et de simplement passer à l'instruction suivante.
FNSAVE Cette instruction permet de sauvegarder l'état courant du coprocesseur mathématique dans l'emplacement mémoire à partir de «source» et gérer les exceptions numériques non masquées.
FNSTCW Cette instruction permet de sauvegarder le «mot de contrôle» dans «cible» et gérer les exceptions numériques non masquées.
FNSTENV Cette instruction permet de copier l'environnement du coprocesseur mathématique vers une cible mais sans toutefois attendre que l'exception de nombre réel (virgule flottante) soit effacé.
FNSTSW Cette instruction permet de copier le mot d'état du coprocesseur mathématique vers une cible mais sans toutefois attendre que l'exception de nombre réel (virgule flottante) soit effacé.
FPATAN Cette instruction permet de calculer le résultat de l'arc tangente de ST(1) par ST(0) et de mettre le résultat dans le registre ST(0).
FPREM Cette instruction permet de diviser le registre ST(0) par le registre ST(1) et enregistre le reste dans registre ST(0).
FPREM1 Cette instruction permet de diviser le registre ST(0) par le registre ST(1) et enregistre le reste IEEE dans registre ST(0).
FPTAN Cette instruction permet d'effectuer le calcule de la fonction trigonométrique de la tangente du registre ST(0) et enregistre son résultat dans le registre ST(0).
FRNDINT Cette instruction permet d'arrondir le registre ST(0) à l'entier le plus proche et enregistre son résultat dans le registre ST(0).
FRSTOR Cette instruction permet de restituer l'état du coprocesseur précédemment sauvegardé dans l'emplacement mémoire spécifié par source.
FSAVE Cette instruction permet de sauvegarder l'état courant du coprocesseur dans l'emplacement mémoire spécifié par source.
FSCALE Cette instruction permet d'effectuer la multiplication du registre ST(0) par 2 puissance le registre ST(1) et sauvegarde le résultat dans le registre ST(0).
FSIN Cette instruction permet d'effectuer le calcule de la fonction trigonométrique du sinus du registre ST(0) et le copie dans le registre ST(1), le registre ST(0) prend la valeur 1,0.
FSINCOS Cette instruction permet d'effectuer le calcule de la fonction trigonométrique du sinus et du cosinus du registre ST(0) puis copie le résultat du sinus dans le registre ST(0) et le cosinus dans le registre ST(1).
FSQRT Cette instruction permet d'extraire la racine carrée du registre ST(0) et de copier son résultat dans le registre ST(0).
FST Cette instruction permet de copier la valeur réel contenu le registre ST(0) vers une cible.
FSTCW Cette instruction permet de copier le mot de contrôle CW vers une cible.
FSTENV Cette instruction permet de copier l'environnement du coprocesseur mathématique vers une cible.
FSTP Cette instruction permet de copier un nombre entier et prendre le contenu du registre ST(0) dans la pile de registres (dépilage).
FSTSW Cette instruction permet de copier le mot d'état du coprocesseur mathématique vers une cible.
FSUB Cette instruction permet de soustraire un nombre entier du registre ST(0).
FSUBP Cette instruction permet de soustraire un nombre entier du registre ST(0) et copie le registre ST(0) dans la pile de registres.
FSUBR Cette instruction permet de soustraire le registre ST(0) du nombre entier et place le résultat dans le registre ST(0).
FSUBRP Cette instruction permet de soustraire le registre ST(0) du nombre entier et place le résultat dans le registre ST(0) et copie le registre ST(0) dans la pile de registres.
FTST Cette instruction permet de comparer le sommet de la pile avec la valeur 0,0 et définit les indicateurs d'états C0 et C3 de façon approprié.
FUCOM Cette instruction compare le registre ST0 avec un opérande et fixe les drapeaux de façon approprié.
FUCOMI Cette instruction permet d'effectuer la comparaison de ST(0) avec ST(i) et vérifie l'ordre des valeurs et fixe la valeur drapeaux ZF, PF et CF du registre EFLAGS en fonction des résultats.
FUCOMIP Cette instruction permet d'effectuer la comparaison de ST(0) avec ST(i) et vérifie l'ordre des valeurs et fixe la valeur drapeaux ZF, PF et CF du registre EFLAGS en fonction des résultats et désempile de la pile la valeur dans le registre.
FUCOMP Cette instruction compare le registre ST0 avec un opérande et fixe les drapeaux de façon approprié et désempile la pile.
FUCOMPP Cette instruction compare le registre ST0 avec le registre ST1 et fixe les drapeaux de façon approprié et désempile les registres ST0 et ST1 de la pile.
FWAIT Cette instruction permet d'attendre la fin de l'exécution d'une commande avant de poursuivre.
FXAM Cette instruction permet d'examiner le sommet de la pile et définit les indicateurs d'état C0 et C3 de façon approprié.
FXCH Cette instruction permet d'échanger le contenu d'une expression avec celle du registre ST(0) s'il est omis.
FXRSTOR Cette instruction permet de restituer rapidement 94 (en mode 16 bits) ou 108 (en mode 32 bits) octets d'un contexte de coprocesseur mathématique vers la mémoire.
FXSAVE Cette instruction permet de sauvegarder rapidement 94 (en mode 16 bits) ou 108 (en mode 32 bits) octets d'un contexte de coprocesseur mathématique de la mémoire.
FXTRACT Cette instruction permet de copier l'exposant du registre ST(0) dans le registre ST(1) comme nombre entier puis copie la mantisse dans la registre ST(0) comme nombre entier.
FYL2X Cette instruction permet de calculer la multiplication du registre ST(1) par le logarithme du registre ST(0) dans la base 2 et copie le résultat dans le registre ST(0).
FYL2XP1 Cette instruction permet de calculer la multiplication du registre ST(1) par le logarithme du registre ST(0) plus 1 dans la base 2 et copie le résultat dans le registre ST(0).
HADDPD Cette instruction permet d'effectuer l'addition horizontal de paquet de nombre réel de double précision des deux opérandes.
HADDPS Cette instruction permet d'effectuer l'addition horizontal de paquet de nombre réel de simple précision des deux opérandes.
HLT Cette instruction permet de faire passer le microprocesseur en mode d'arrêt. Toutefois, le processeur peut quitter cet état lorsqu'une ligne matérielle RESET ou lorsqu'une interruption non-masquable (NMI) reçoit un signal.
HSUBPD Cette instruction permet d'effectuer la soustraction horizontal de paquet de nombre réel de double précision des deux opérandes.
HSUBPS Cette instruction permet d'effectuer la soustraction horizontal de paquet de nombre réel de simple précision des deux opérandes.
IDIV Cette instruction permet d'effectuer une division signée (nombre entier).
IMUL Cette instruction permet d'effectuer une multiplication signée (nombre entier).
IN Cette instruction permet de demander un octet, un mot ou un double mot provenant du port d'entrée/sortie et le retourne dans le registre accumulateur (AL, AX, EAX).
INC Cette instruction permet d'incrémenter un registre ou un emplacement mémoire.
INS Cette instruction permet de demander un octet, un mot ou un double mot du port d'entrée/sortie et retourne le résultat dans l'adresse ES:[DI] et incrémente/décrémente le registre DI en fonction de la taille de l'opérande cible et de l'état du drapeau de direction.
INSB Cette instruction permet de demander un octet du port d'entrée/sortie et retourne le résultat dans l'adresse ES:[DI] et incrémente/décrémente le registre DI de 1 en fonction de l'état du drapeau de direction.
INSD Cette instruction permet de demander un double mot du port d'entrée/sortie et retourne le résultat dans l'adresse ES:[DI] et incrémente/décrémente le registre DI de 4 en fonction de l'état du drapeau de direction.
INSERTPS Cette instruction permet d'insérer une valeur réel de simple précision d'un opérande source dans l'emplacement d'un registre d'opérande de destination et met des 0 dans les données en dehors du masque de destination.
INSW Cette instruction permet de demander un mot du port d'entrée/sortie et retourne le résultat dans l'adresse ES:[DI] et incrémente/décrémente le registre DI de 2 en fonction de l'état du drapeau de direction.
INT Cette instruction permet d'exécuter l'interruption avec le numéro spécifié.
INVD Cette instruction permet de désactiver et de vider le tampon interne du micro-processeur.
INVEPT Cette instruction permet d'invalider la cartographie dans translation des tampons (TLB) et des caches de pagination structuré dérivé des tables de pages étendue (EPT).
INVLPG Cette instruction permet d'invalider les transferts du TLB (Translation Lookaside Buffer) du micro-processeur
INVLPGA Cette instruction permet d'invalider la cartographie TLB (Translation Lookaside Buffer) pour une page virtuel et un ASID spécifié.
INVVPID Cette instruction permet d'invalider la cartographie dans translation des tampons (TLB) et des caches de pagination structuré basé sur l'identificateur de processeur virtuel (VPID).
IRET Cette instruction permet d'effectuer un retour précédemment provoquer par une interruption.
IRETD Cette instruction permet d'effectuer un retour 32-bits précédemment provoquer par une interruption.
IRETQ Cette instruction permet d'effectuer un retour 64-bits précédemment provoquer par une interruption.
JA Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si supérieur.
JAE Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si supérieur ou égal.
JB Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si inférieur.
JBE Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si inférieur ou égal.
JC Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si l'indicateur de retenue est égal à 1.
JCXZ Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si CX = 0.
JE Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si zéro (égal).
JECXZ Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si ECX = 0.
JG Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si supérieur.
JGE Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si supérieur ou égal.
JL Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si inférieur.
JLE Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si inférieur ou égal.
JMP Cette instruction permet d'effectuer un branchement à un emplacement mémoire spécifié.
JNA Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si pas supérieur.
JNAE Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si ni supérieur ni égal.
JNB Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si pas inférieur.
JNC Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si indicateur de retenue égal à 0.
JNE Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si pas égal (zéro).
JNG Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si pas supérieur.
JNGE Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si ni supérieur ni égal.
JNL Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si pas inférieur.
JNLE Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si ni inférieur ni égal.
JNO Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si pas de débordement (indicateur de débordement égal à 0).
JNP Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si pas de parité.
JNS Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si pas de signe.
JNZ Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si pas zéro.
JO Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si débordement (indicateur de débordement égal à 1).
JP Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si parité.
JPE Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si parité paire.
JPO Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si parité impaire.
JRCXZ Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si RCX = 0.
JS Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si signe.
JZ Cette instruction permet d'effectuer un branchement conditionnel à un emplacement mémoire spécifié si zéro.
LAR Cette instruction permet de charger le registre des indicateurs d'un descripteur.
LDDQU Cette instruction permet de copier un quadruple mot d'une opérande source vers une opérande destination.
LDMXCSR Cette instruction permet d'effectuer le chargement du mot de contrôle et d'état du flux d'extension SIMD d'une opérande mémoire 32 bits.
LEA Cette instruction permet de copier l'offset d'une adresse de mémoire contenu dans un registre spécifié.
LEAVE Cette instruction permet de libérer une zone de mémoire attribué par l'instruction «ENTER» lorsqu'on utilise des procédures dans des langages de programmation de haut niveau.
LFENCE Cette instruction permet d'agir comme une barrière pour forcer une priorité en mémoire (sérialisation) entre les instructions précédant le LFENCE et les instructions de chargement suivant le LFENCE.
LFS Cette instruction permet de copier une adresse de mémoire contenu sur 32 bits dans la paire de registre de segment FS et dans un registre d'offset spécifié.
LGDT Cette instruction permet de charger un descripteur de tables globale.
LGS Cette instruction permet de copier une adresse de mémoire contenu sur 32 bits dans la paire de registre de segment GS et dans un registre d'offset spécifié.
LIDT Cette instruction permet de charger un descripteur de tables d'interruption.
LLDT Cette instruction permet de charger un descripteur de tables local.
LMSW Cette instruction permet de copier 4 des bits d'une opérande vers les 4 bits de registre de contrôle CR0.
LOCK Cette instruction est utilisé comme préfixe avec d'autres instructions pour amener le microprocesseur à émettre un signal de verrouillage (Lock) sur le bus lors du traitement de l'instruction suivante.
LODS Cette instruction permet de copier un élément de l'adresse DS:SI dans le registre accumulateur et incrémente/décrémente le registre SI en fonction de la taille de l'opérande source et de l'état du drapeau de direction.
LODSB Cette instruction permet de copier un élément de l'adresse DS:SI dans le registre accumulateur et incrémente/décrémente le registre SI de 1 en fonction de l'état du drapeau de direction.
LODSD Cette instruction permet de copier un élément de l'adresse DS:SI dans le registre accumulateur et incrémente/décrémente le registre SI de 4 en fonction de l'état du drapeau de direction.
LODSQ Cette instruction permet de copier un élément de l'adresse DS:(R)SI dans le registre accumulateur et incrémente/décrémente le registre (R)SI de 8 en fonction de l'état du drapeau de direction.
LODSW Cette instruction permet de copier un élément de l'adresse DS:SI dans le registre accumulateur et incrémente/décrémente le registre SI de 2 en fonction de l'état du drapeau de direction.
LOOP Cette instruction de boucle permet de décrémenter le registre CX (compteur de boucle) de 1 et par la suite de donner le contrôle à une étiquette destinataire tant que le registre CX ne vaut pas 0.
LOOPE Cette instruction de boucle permet de décrémenter le registre CX (compteur de boucle) de 1 et par la suite de donner le contrôle à une étiquette destinataire tant que le registre CX ne vaut pas 0 et si le drapeau ZF vaut 1.
LOOPNE Cette instruction de boucle permet de décrémenter le registre CX (compteur de boucle) de 1 et par la suite de donner le contrôle à une étiquette destinataire tant que le registre CX ne vaut pas 0 et si le drapeau ZF vaut 0.
LOOPNZ Cette instruction de boucle permet de décrémenter le registre CX (compteur de boucle) de 1 et par la suite de donner le contrôle à une étiquette destinataire tant que le registre CX ne vaut pas 0 et si le drapeau ZF vaut 0.
LOOPZ Cette instruction de boucle permet de décrémenter le registre CX (compteur de boucle) de 1 et par la suite de donner le contrôle à une étiquette destinataire tant que le registre CX ne vaut pas 0 et si le drapeau ZF vaut 1.
LSL Cette instruction permet de charger la limite de segment d'un descripteur de segment spécifié avec l'opérande source dans l'opérande de destination et fixe le drapeau ZF du registre EFLAGS.
LSS Cette instruction permet de copier une adresse de mémoire contenu sur 32 bits dans la paire de registre de segment SS (Segment de pile) et dans un registre d'offset spécifié.
LTR Cette instruction permet de charger l'opérande source dans le champ du sélecteur de segment du registre de tâche.
LZCNT Cette instruction permet de compter le nombre de bits à 0 dans un registre 16, 32 ou 64 bits contenu dans l'opérande source.
MASKMOVDQU Cette instruction permet d'entreposer les octets sélectionnés par l'opérande source dans une emplacement mémoire de 128 bits.
MASKMOVQ Cette instruction permet d'entreposer les octets sélectionner de l'opérande source dans un emplacement mémoire de 64 bits.
MAXPD Cette instruction permet de retourner la valeur maximal de chacune des paires de valeur entre l'opérande source et l'opérande de destination de nombre réel de double précision.
MAXPS Cette instruction permet de retourner la valeur maximal de chacune des paires de valeur entre l'opérande source et l'opérande de destination.
MAXSD Cette instruction permet de retourner la valeur maximal entre l'opérande source et destination de nombre réel de simple précision.
MAXSS Cette instruction permet de retourner la valeur maximal entre l'opérande source et destination.
MFENCE Cette instruction permet d'agir comme une barrière pour forcer une priorité en mémoire (sérialisation) entre les instructions précédant le MFENCE et les instructions de chargement et d'entreposage précédent le MFENCE.
MINPD Cette instruction permet de retourner la valeur minimal de chacune des paires de valeur entre l'opérande source et l'opérande de destination de nombre réel de double précision.
MINPS Cette instruction permet de retourner la valeur minimal de chacune des paires de valeur entre l'opérande source et l'opérande de destination.
MINSD Cette instruction permet de retourner la valeur minimal entre l'opérande source et destination de nombre réel de simple précision.
MINSS Cette instruction permet de retourner la valeur minimal entre l'opérande source et destination.
MONITOR Cette instruction permet d'indiquer au microprocesseur quel rangé d'adresse est à surveiller par l'instruction STORE.
MOV Cette instruction permet de copier opérande source dans une opérande destinataire.
MOVAPD Cette instruction permet de copier le contenu de 2 paquets alignés de valeurs réel de double précision.
MOVAPS Cette instruction permet de copier le contenu de 4 paquets alignés de valeurs réel de simple précision (4 x 32 bits).
MOVBE Cette instruction permet d'effectuer l'échange des octets lors de l'opération de copiage de l'opérande source dans l'opérande de destination.
MOVD Cette instruction permet de copier l'opérande dans un registre XMM ou vice-versa.
MOVDDUP Cette instruction permet de copier les 64 bits d'une opérande dans la partie basse et haute d'une opérande de 128 bits.
MOVDQ2Q Cette instruction permet de copier la partie basse d'un quadruple mots d'un opérande source vers un opérande de destination.
MOVDQA Cette instruction permet de copier un double quadruple mots d'un opérande source vers un opérande de destination.
MOVDQU Cette instruction permet de copier un double quadruple mots désaligné d'un opérande source vers un opérande de destination.
MOVHLPS Cette instruction permet de copier le contenu du haut d'un paquet de valeurs réel de simple précision dans sa partie basse.
MOVHPD Cette instruction permet de copier le contenu du haut de deux paquets de valeurs réel de double précision dans une opérande de destination.
MOVHPS Cette instruction permet de copier le contenu du haut de deux paquets de valeurs réel de simple précision dans une opérande de destination.
MOVLHPS Cette instruction permet de copier le contenu du bas d'un paquet de valeurs réel de simple précision dans sa partie haute.
MOVLPD Cette instruction permet de copier le contenu du bas de deux paquets de valeurs réel de double précision dans un opérande de destination.
MOVLPS Cette instruction permet de copier le contenu du bas de deux paquets de valeurs réel de simple précision dans un opérande de destination.
MOVMSKPD Cette instruction permet de copier les bits de signes de deux paquets de valeurs réels de double précision d'un registre XMM dans les 2 bits les plus bas d'un registre 32 bits. Les autres bits du registres 32 bits sont fixés à 0.
MOVMSKPS Cette instruction permet de copier les bits de signes de quatre paquets de valeurs réels de simple précision d'un registre XMM dans les 4 bits les plus bas d'un registre 32 bits. Les autres bits du registres 32 bits sont fixés à 0.
MOVNTI Cette instruction permet de copier une valeur 32 ou 64 bits dans un emplacement mémoire afin de minimiser la pollution du cache dans un processus léger.
MOVNTDQ Cette instruction permet de copier le contenu de double quadruple mots d'un opérande source vers un opérande de destination sans utiliser la méthode temporel pour minimiser la pollution du cache.
MOVNTDQA Cette instruction permet de copier le contenu aligné de double quadruple mots d'un opérande source vers un opérande de destination sans utiliser la méthode temporel pour minimiser la pollution du cache.
MOVNTPD Cette instruction permet de copier le contenu de valeur réel de double précision d'un opérande source vers un opérande de destination sans utiliser la méthode temporel pour minimiser la pollution du cache.
MOVNTPS Cette instruction permet de copier le contenu de 4 paquets alignés de valeurs réel de simple précision sans utiliser la méthode temporel pour minimiser la pollution du cache.
MOVNTQ Cette instruction permet de copier une valeur 64 bits sans utiliser la méthode temporel pour minimiser la pollution du cache.
MOVQ Cette instruction permet de copier un quadruple mot d'une opérande source vers une opérande destination dans le cas des registres XMM.
MOVQ2DQ Cette instruction permet de copier un quadruple mot d'un opérande source vers la partie basse d'un opérande destination dans le cas des registres XMM.
MOVS Cette instruction permet de copier un élément de l'adresse DS:SI dans l'adresse ES:DI et incrémente/décrémente les registres DI et SI en fonction de la taille de l'opérande source et de l'état du drapeau de direction.
MOVSB Cette instruction permet de copier un octet de l'adresse DS:SI dans l'adresse ES:DI et incrémente/décrémente les registres DI et SI de 1 en fonction de l'état du drapeau de direction.
MOVSD Cette instruction permet de copier un double mot de l'adresse DS:SI dans l'adresse ES:DI et incrémente/décrémente les registres DI et SI de 4 en fonction de l'état du drapeau de direction.
MOVSD Cette instruction permet de copier un scalaire de valeur de double précision d'un opérande source vers un opérande destination.
MOVSHDUP Cette instruction permet de copier la partie du haut de 32 bits d'une valeur 64 bits dans sa partie basse et haute d'une valeur réel de simple précision de 64 bits contenu dans un paquet de 128 bits.
MOVSLDUP Cette instruction permet de copier la partie du basse de 32 bits d'une valeur 64 bits dans sa partie basse et haute d'une valeur réel de simple précision de 64 bits contenu dans un paquet de 128 bits.
MOVSQ Cette instruction permet de copier un quadruple mot de l'adresse DS:(R)SI dans l'adresse ES:(R)DI et incrémente/décrémente les registres (R)DI et (R)SI de 8 en fonction de l'état du drapeau de direction.
MOVSS Cette instruction permet de copier une valeur réel de simple précision d'une opérande source vers une opérande de destination.
MOVSW Cette instruction permet de copier un mot de l'adresse DS:SI dans l'adresse ES:DI et incrémente/décrémente les registres DI et SI de 2 en fonction de l'état du drapeau de direction.
MOVSX Cette instruction permet de copier un registre de taille inférieur dans un registre de plus grande taille en remplissant les bits supplémentaires avec l'extension des signes.
MOVSXD Cette instruction permet de copier un registre de taille inférieur dans un registre 64 bits en remplissant les bits supplémentaires avec l'extension des signes.
MOVUPD Cette instruction permet de copier le contenu de 2 paquets désalignés de valeurs réel de double précision.
MOVUPS Cette instruction permet de copier le contenu de 4 paquets désalignés de valeurs réel de simple précision (4 x 32 bits).
MOVZX Cette instruction permet de copier un registre de taille inférieur dans un registre de plus grande taille en remplissant les bits supplémentaires par des 0.
MPSADBW Cette instruction permet d'effectuer le calcul de la somme de la différence absolue (SAD) d'une paire d'octets d'un groupe de 4 octets paires et produit 8 résultats SAD entreposé dans 8 entier contenu dans l'opérande de destination.
MUL Cette instruction permet d'effectuer une multiplication non-signée (nombre naturel).
MULPD Cette instruction permet d'effectuer la multiplication de chacune des paires de valeur de double précision de l'opérande source et l'opérande de destination.
MULPS Cette instruction permet d'effectuer la multiplication de chacune des paires de valeur de l'opérande source et l'opérande de destination.
MULSD Cette instruction permet d'effectuer la multiplication scalaire de valeurs réel de double précision de l'opérande source et l'opérande de destination.
MULSS Cette instruction permet d'effectuer la multiplication scalaire de l'opérande source et l'opérande de destination.
MWAIT Cette instruction permet d'indiquer au microprocesseur que l'état de l'alimentation de la ligne de cache est en attente d'écriture dans la plage d'adresse, mettant fin à la plupart des activités dans le noyau en le faisant.
NEG Cette instruction permet d'effectuer le complément à 2 d'une opérande.
NOP Cette instruction ne fait rien.
NOT Cette instruction permet d'inverser la valeur de chacun des bits d'une opérande.
OR Cette instruction permet d'effectuer un OU BINAIRE sur les 2 opérandes spécifiés.
ORPD Cette instruction permet d'effectuer un OU BINAIRE de 128 bits sur les 2 opérandes réels de double précisions spécifiés.
ORPS Cette instruction permet d'effectuer un OU BINAIRE de 128 bits sur les 2 opérandes spécifiés.
OUT Cette instruction permet d'envoyer un octet, un mot ou un double mot sur le port d'entrée/sortie.
OUTS Cette instruction permet d'envoyer un octet, un mot ou un double mot contenu dans l'adresse DS:[SI] du port d'entrée/sortie et incrémente/décrémente le registre SI en fonction de la taille de l'opérande cible et de l'état du drapeau de direction.
OUTSB Cette instruction permet d'envoyer un octet contenu dans l'adresse DS:[SI] du port d'entrée/sortie et incrémente/décrémente le registre SI de 1 en fonction de l'état du drapeau de direction.
OUTSD Cette instruction permet d'envoyer un double mot contenu dans l'adresse DS:[SI] du port d'entrée/sortie et incrémente/décrémente le registre SI de 4 en fonction de l'état du drapeau de direction.
OUTSW Cette instruction permet d'envoyer un mot contenu dans l'adresse DS:[SI] du port d'entrée/sortie et incrémente/décrémente le registre SI de 2 en fonction de l'état du drapeau de direction.
PABSB Cette instruction permet d'effectuer le calcul de la valeur absolue de chacun des octets d'un opérande source et entrepose le résultat dans un opérande destination.
PABSD Cette instruction permet d'effectuer le calcul de la valeur absolue de chacun des doubles mots d'un opérande source et entrepose le résultat dans un opérande destination.
PABSW Cette instruction permet d'effectuer le calcul de la valeur absolue de chacun des mots d'un opérande source et entrepose le résultat dans un opérande destination.
PACKSSDW Cette instruction permet de compacté 8 paquets de double mots en mots.
PACKSSWB Cette instruction permet de compacté 8 paquets d'entier en octets.
PACKUSDW Cette instruction permet de compacté 8 paquets de double mots naturel en mots naturel.
PACKUSWB Cette instruction permet de compacté 8 paquets de mots en octets.
PADDB Cette instruction permet d'effectuer une addition scalaire sur un paquet de 8 octets.
PADDD Cette instruction permet d'effectuer une addition scalaire sur un paquet de 2 double mots.
PADDQ Cette instruction permet d'effectuer une addition scalaire sur un paquet de quadruple mots.
PADDSB Cette instruction permet d'effectuer une addition scalaire avec saturation sur un paquet de 8 octets signés.
PADDSW Cette instruction permet d'effectuer une addition scalaire avec saturation sur un paquet de 4 entiers.
PADDUSB Cette instruction permet d'effectuer une addition scalaire avec saturation sur un paquet de 8 octets.
PADDUSW Cette instruction permet d'effectuer une addition scalaire avec saturation sur un paquet de 4 mots.
PADDW Cette instruction permet d'effectuer une addition scalaire sur un paquet de 4 mots.
PALIGNR Cette instruction permet d'effectuer la concaténation de l'opérande de destination et de l'opérande source et effectue un décalage d'une constante immédiate de la composante de granulité d'octets, et enfin extrait le résultat aligné dans l'opérande de destination.
PAND Cette instruction permet d'effectuer un «ET BINAIRE» d'un quadruple mot d'une opérande source avec une opérande destination dans le cas des registres XMM.
PANDN Cette instruction permet d'effectuer un «ET BINAIRE» et une «NEGATION» de chacun des bits d'un quadruple mot d'une opérande source avec une opérande destination dans le cas des registres XMM.
PAUSE Cette instruction permet d'améliorer les performances des boucles de «SPIN», en fournissant une indication pour le microprocesseur que le code courant est dans une boucle en «SPIN».
PAVGB Cette instruction permet d'effectuer le calcul de la moyenne des paquets d'octets spécifiés.
PAVGW Cette instruction permet d'effectuer le calcul de la moyenne des paquets des mots spécifiés.
PBLENDVB Cette instruction permet d'effectuer une copie conditionnel d'un élément d'octets d'un opérande source vers un opérande de destination en fonction des bits de masque définit dans un troisième opérande.
PBLENDW Cette instruction permet d'effectuer une copie conditionnel d'un élément d'octets d'un opérande source vers un opérande de destination en fonction des bits de masque définit dans un troisième opérande.
PCLMULQDQ Cette instruction permet d'effectuer une multiplication de quadruple mots avec une retenue en sélectionnant l'opérande destination et source et une valeur immédiate pour sélectionner les critères.
PCMPEQB Cette instruction permet d'effectuer une comparaison sur un paquet d'octets et fixe la valeur de chacun d'eux à FFh s'ils sont égales sinon à 00h.
PCMPEQD Cette instruction permet d'effectuer une comparaison sur un paquet de double mots et fixe la valeur de chacun d'eux à FFFFFFFFh s'ils sont égales sinon à 00000000h.
PCMPEQQ Cette instruction permet d'effectuer une comparaison d'égalité SIMD d'un paquet de quadruple mots de l'opérande destination et de l'opérande source.
PCMPEQW Cette instruction permet d'effectuer une comparaison sur un paquet de mots et fixe la valeur de chacun d'eux à FFFFh s'ils sont égales sinon à 0000h.
PCMPESTRI Cette instruction permet d'effectuer une comparaison ainsi qu'un processus de fragments de deux chaînes de caractères basé sur une valeur d'encodage indiquer par un opérande immédiate et génère un index entreposé dans le registre ECX.
PCMPESTRM Cette instruction permet d'effectuer une comparaison ainsi qu'un processus de fragments de deux chaînes de caractères basé sur une valeur d'encodage indiquer par un opérande immédiate et génère un masque entreposé dans le registre XMM0.
PCMPGTB Cette instruction permet d'effectuer une comparaison sur un paquet d'octets et fixe la valeur de chacun d'eux à FFh si l'opérande destinataire est supérieur à l'opérande source sinon à 00h.
PCMPGTD Cette instruction permet d'effectuer une comparaison sur un paquet de double mots et fixe la valeur de chacun d'eux à FFFFFFFFFh si l'opérande destinataire est supérieur à l'opérande source sinon à 00000000h.
PCMPGTQ Cette instruction permet d'effectuer une comparaison sur un paquet de quadruple mots et fixe la valeur de chacun d'eux à FFFFFFFFFFFFFFFFh si l'opérande destinataire est supérieur à l'opérande source sinon à 0000000000000000h.
PCMPGTW Cette instruction permet d'effectuer une comparaison sur un paquet de mots et fixe la valeur de chacun d'eux à FFFFFh si l'opérande destinataire est supérieur à l'opérande source sinon à 0000h.
PCMPISTRI Cette instruction permet d'effectuer une comparaison ainsi qu'un processus de fragments de deux chaines de caractères basé sur une valeur d'encodage implicite indiquer par un opérande immédiate et génère un index entreposé dans le registre ECX.
PCMPISTRM Cette instruction permet d'effectuer une comparaison ainsi qu'un processus de fragments de deux chaine de caractères basé sur une valeur d'encodage implicite indiquer par un opérande immédiate et génère un masque entreposé dans le registre XMM0.
PEXTRB Cette instruction permet de copier l'octet de l'opérande source spécifié par un compteur d'opérande dans l'opérande de destination.
PEXTRD Cette instruction permet de copier le double mot de l'opérande source spécifié par un compteur d'opérande dans l'opérande de destination.
PEXTRQ Cette instruction permet de copier le quadruple mot de l'opérande source spécifié par un compteur d'opérande dans l'opérande de destination.
PEXTRW Cette instruction permet de copier le mot de l'opérande source spécifié par un compteur d'opérande dans l'opérande de destination.
PHADDD Cette instruction permet d'effectuer l'addition de double mot entier horizontalement adjacent d'un opérande source et opérande destination et met le résultat dans l'opérande destination.
PHADDSW Cette instruction permet d'effectuer l'addition de mot entier horizontalement adjacent avec saturation d'un opérande source et opérande destination et met le résultat dans l'opérande destination.
PHADDW Cette instruction permet d'effectuer l'addition de mot entier horizontalement adjacent d'un opérande source et opérande destination et met le résultat dans l'opérande destination.
PHMINPOSUW Cette instruction permet de demander le minimum des valeurs de mot de l'opérande source et place dans la partie basse de l'opérande le mot.
PHSUBD Cette instruction permet d'effectuer la soustraction de double mot entier horizontalement adjacent d'un opérande source et opérande destination et met le résultat dans l'opérande destination.
PHSUBSW Cette instruction permet d'effectuer la soustraction de mot entier horizontalement adjacent avec saturation d'un opérande source et opérande destination et met le résultat dans l'opérande destination.
PHSUBW Cette instruction permet d'effectuer la soustraction de mot entier horizontalement adjacent d'un opérande source et opérande destination et met le résultat dans l'opérande destination.
PINSRB Cette instruction permet d'effectuer une copie d'un octet d'un opérande source et de l'insérer dans l'opérande de destination de l'emplacement spécifié par un compteur d'opérande.
PINSRD Cette instruction permet d'effectuer une copie d'un double mot d'un opérande source et de l'insérer dans l'opérande de destination de l'emplacement spécifié par un compteur d'opérande.
PINSRQ Cette instruction permet d'effectuer une copie d'un quadruple mot d'un opérande source et de l'insérer dans l'opérande de destination de l'emplacement spécifié par un compteur d'opérande.
PINSRW Cette instruction permet d'effectuer une copie d'un mot d'un opérande source et de l'insérer dans l'opérande de destination de l'emplacement spécifié par un compteur d'opérande.
PMADDUBSW 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.
PMADDWD Cette instruction permet d'effectuer une multiplication de 2 registres MMX contenant dans un paquet de mots d'un emplacement/mémoire.
PMAXSB Cette instruction permet de retourner la valeur maximal de chacun des octets (entier) des paquets contenu dans deux opérandes.
PMAXSD Cette instruction permet de retourner la valeur maximal de chacun des doubles mots des paquets contenu dans deux opérandes.
PMAXSW Cette instruction permet de retourner la valeur maximal de chacun des mots (entier) des paquets contenu dans deux opérandes.
PMAXUB Cette instruction permet de retourner la valeur maximal de chacun des octets des paquets contenu dans deux opérandes.
PMAXUD Cette instruction permet de retourner la valeur maximal de chacun des doubles mots (naturel) des paquets contenu dans deux opérandes.
PMAXUW Cette instruction permet de retourner la valeur maximal de chacun des mots (naturel) des paquets contenu dans deux opérandes.
PMINSB Cette instruction permet de retourner la valeur minimal de chacun des octets (entier) des paquets contenu dans deux opérandes.
PMINSD Cette instruction permet de retourner la valeur minimal de chacun des doubles mots des paquets contenu dans deux opérandes.
PMINSW Cette instruction permet de retourner la valeur minimal de chacun des mots des paquets contenu dans deux opérandes.
PMINUB Cette instruction permet de retourner la valeur minimal de chacun des octets des paquets contenu dans deux opérandes.
PMINUD Cette instruction permet de retourner la valeur minimal de chacun des doubles mots (naturel) des paquets contenu dans deux opérandes.
PMOVMSKB Cette instruction permet de copiés les masques de chacun des octets d'un paquet contenu dans une opérande.
PMOVSXBD Cette instruction permet d'étendre les signes du paquet des entiers de 8 bits de la partie basse de l'opérande source en entiers 32 bits dans l'opérande de destination.
PMOVSXBQ Cette instruction permet d'étendre les signes du paquet des entiers de 8 bits de la partie basse de l'opérande source en entiers 64 bits dans l'opérande de destination.
PMOVSXBW Cette instruction permet d'étendre les signes du paquet des entiers de 8 bits de la partie basse de l'opérande source en entiers 16 bits dans l'opérande de destination.
PMOVSXDQ Cette instruction permet d'étendre les signes du paquet des entiers de 32 bits de la partie basse de l'opérande source en entiers 64 bits dans l'opérande de destination.
PMOVSXWD Cette instruction permet d'étendre les signes du paquet des entiers de 16 bits de la partie basse de l'opérande source en entiers 32 bits dans l'opérande de destination.
PMOVSXWQ Cette instruction permet d'étendre les signes du paquet des entiers de 16 bits de la partie basse de l'opérande source en entiers 64 bits dans l'opérande de destination.
PMOVZXBD Cette instruction permet d'étendre les zéros du paquet des entiers de 8 bits de la partie basse de l'opérande source en entiers 32 bits dans l'opérande de destination.
PMOVZXBQ Cette instruction permet d'étendre les zéros du paquet des entiers de 8 bits de la partie basse de l'opérande source en entiers 64 bits dans l'opérande de destination.
PMOVZXBW Cette instruction permet d'étendre les zéros du paquet des entiers de 8 bits de la partie basse de l'opérande source en entiers 16 bits dans l'opérande de destination.
PMOVZXDQ Cette instruction permet d'étendre les zéros du paquet des entiers de 32 bits de la partie basse de l'opérande source en entiers 64 bits dans l'opérande de destination.
PMOVZXWD Cette instruction permet d'étendre les zéros du paquet des entiers de 16 bits de la partie basse de l'opérande source en entiers 32 bits dans l'opérande de destination.
PMOVZXWQ Cette instruction permet d'étendre les zéros du paquet des entiers de 16 bits de la partie basse de l'opérande source en entiers 64 bits dans l'opérande de destination.
PMULDQ Cette instruction permet d'effectuer la multiplication de deux valeurs signés de deux paires de double mots entier et entrepose les résultats dans un opérande en paquet de 64 bits.
PMULHRSW Cette instruction permet d'effectuer multiplication vertical de chaque entier de 16 bits de l'opérande de destination avec l'opérande source et produit un résultat d'entiers de 32 bits dans l'opérande de destination.
PMULHUW Cette instruction permet d'effectuer la multiplication de la partie haute de chacun des entiers des 2 paquets d'opérandes.
PMULHW Cette instruction permet d'effectuer la multiplication de la partie haute de chacun des mots des 2 paquets d'opérandes.
PMULLD Cette instruction permet d'effectuer la multiplication de la partie basse de chacun des double mots des 2 paquets d'opérandes.
PMULLW Cette instruction permet d'effectuer la multiplication de la partie basse de chacun des mots des 2 paquets d'opérandes.
PMULUDQ Cette instruction permet d'effectuer la multiplication de paquets d'opérandes de double mots.
POP Cette instruction permet de désempiler de la pile un mot ou un double mot et la met dans une opérande.
POPCNT Cette instruction permet de compter le nombre de bits à 1 que possède une opérande source et place le résultat dans un registre destinataire.
POPF Cette instruction permet de désempiler de la pile le registre 16 bits de drapeau contenant les indicateurs d'état.
POPFD Cette instruction permet de désempiler de la pile le registre 32 bits de drapeau contenant les indicateurs d'état.
POPFQ Cette instruction permet de désempiler de la pile le registre 64 bits de drapeau (RFLAGS) contenant les indicateurs d'état.
POR Cette instruction permet d'effectuer un «OU BINAIRE» d'un quadruple mot d'une opérande source avec une opérande destination dans le cas des registres XMM.
PREFETCH Cette instruction permet d'effectuer le chargement de l'entrée d'une séquence d'alignement de mémoire de 64 bits de l'adresse mémoire spécifié dans le cache de données L1 du microprocesseur.
PREFETCH0 Cette instruction permet d'effectuer le chargement de la ligne de cache de l'adresse mémoire spécifié dans le cache de données T0 du microprocesseur. Alias de PREFETCHT0.
PREFETCH1 Cette instruction permet d'effectuer le chargement de la ligne de cache de l'adresse mémoire spécifié dans le cache de données T1 du microprocesseur. Alias de PREFETCHT1.
PREFETCH2 Cette instruction permet d'effectuer le chargement de la ligne de cache de l'adresse mémoire spécifié dans le cache de données T2 du microprocesseur. Alias de PREFETCHT2.
PREFETCHNTA Cette instruction permet d'effectuer le chargement de la ligne de cache de l'adresse mémoire spécifié dans le cache de données NTA du microprocesseur.
PREFETCHT0 Cette instruction permet d'effectuer le chargement de la ligne de cache de l'adresse mémoire spécifié dans le cache de données T0 du microprocesseur. Alias de PREFETCH0.
PREFETCHT1 Cette instruction permet d'effectuer le chargement de la ligne de cache de l'adresse mémoire spécifié dans le cache de données T1 du microprocesseur. Alias de PREFETCH1.
PREFETCHT2 Cette instruction permet d'effectuer le chargement de la ligne de cache de l'adresse mémoire spécifié dans le cache de données T2 du microprocesseur. Alias de PREFETCH2.
PREFETCHW Cette instruction permet d'effectuer le chargement de l'entrée d'une séquence d'alignement de mémoire de 64 bits de l'adresse mémoire spécifié dans le cache de données L1 du microprocesseur dans un état de modification.
PSADBW Cette instruction permet d'effectuer le calcul la valeur de absolue de la différence des octets de paquet contenu dans une opérande source et destination.
PSHUFB 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.
PSHUFD Cette instruction permet de copier un double mots d'une opérande source avec emplacement spécifié par un opérande immédiate dans un opérande de destination.
PSHUFHW Cette instruction permet de copier un mot d'une opérande source avec emplacement spécifié par un opérande immédiate dans la partie haute d'un opérande de destination.
PSHUFLW Cette instruction permet de copier un mot d'une opérande source avec emplacement spécifié par un opérande immédiate dans la partie basse d'un opérande de destination.
PSHUFW Cette instruction permet de copier une double mots d'un opérande source avec emplacement spécifié par un opérande immédiate dans un opérande de destination.
PSIGNB Cette instruction permet d'effectuer la négation de chaque octets de l'opérande de destination si la valeur du signe de l'entier des octets correspondant à l'opérande source est inférieur à 0.
PSIGND 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.
PSIGNW 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.
PSLLD Cette instruction permet d'effectuer le décalage de bits vers la gauche d'un paquet de double mots.
PSLLDQ Cette instruction permet d'effectuer le décalage de bits vers la gauche d'un paquet de double quadruple mots.
PSLLQ Cette instruction permet d'effectuer le décalage de bits vers la gauche d'un quadruple mot.
PSLLW Cette instruction permet d'effectuer le décalage de bits vers la gauche d'un paquet de mots.
PSRAD Cette instruction permet d'effectuer le décalage arithmétique de bits vers la droite d'un paquet de double mots.
PSRAW Cette instruction permet d'effectuer le décalage de bits vers la droite d'un paquet de mots.
PSRLD Cette instruction permet d'effectuer le décalage de bits vers la droite d'un paquet de double mots.
PSRLDQ Cette instruction permet d'effectuer le décalage de bits vers la droite d'un paquet de double quadruple mots.
PSRLQ Cette instruction permet d'effectuer le décalage de bits vers la droite d'un quadruple mot.
PSRLW Cette instruction permet d'effectuer le décalage de bits vers la droite d'un paquet de mots.
PSUBB Cette instruction permet d'effectuer la soustraction de la valeur de chacun des octets d'un paquet contenu dans des opérandes de 64 bits.
PSUBD Cette instruction permet d'effectuer la soustraction de la valeur de chacun des doubles mots d'un paquet contenu dans des opérandes de 64 bits.
PSUBQ Cette instruction permet d'effectuer la soustraction de la valeur de chacun des quadruples mots d'un paquet contenu dans des opérandes.
PSUBSB Cette instruction permet d'effectuer la soustraction avec saturation de la valeur de chacun des octets signés d'un paquet contenu dans des opérandes de 64 bits.
PSUBSW Cette instruction permet d'effectuer la soustraction du mot de format entier de l'opérande source au mot de format entier de l'opérande de destination et écrit le résultat dans l'opérande destinataire.
PSUBUSB Cette instruction permet d'effectuer la soustraction avec saturation de la valeur de chacun des octets d'un paquet contenu dans des opérandes de 64 bits.
PSUBUSW Cette instruction permet d'effectuer la soustraction avec saturation de la valeur de chacun des mots d'un paquet contenu dans des opérandes de destinations.
PSUBW Cette instruction permet d'effectuer la soustraction de la valeur de chacun des mots d'un paquet contenu dans des opérandes de 64 bits.
PTEST Cette instruction permet d'effectuer une comparaison de paquet avec un «Et binaire» sans modifier les opérandes.
PUNPCKHBW Cette instruction permet de décompacter des octets en mots dans le haut d'un paquets de 64 bits.
PUNPCKHDQ Cette instruction permet de décompacter des doubles mots en quadruples mots dans le haut d'un paquets de 64 bits.
PUNPCKHQDQ Cette instruction permet de décompacter des doubles mots en quadruples mots dans le haut d'un paquets de 128 bits.
PUNPCKHWD Cette instruction permet de décompacter des mots en double mots dans le haut d'un paquets de 64 bits.
PUNPCKLBW Cette instruction permet de décompacter des octets en mots dans le bas d'un paquets de 64 bits.
PUNPCKLDQ Cette instruction permet de décompacter des doubles mots en quadruples mots dans le bas d'un paquets de 64 bits.
PUNPCKLQDQ Cette instruction permet de décompacter des doubles mots en quadruples mots dans le bas d'un paquets de 128 bits.
PUNPCKLWD Cette instruction permet de décompacter des mots en double mots dans le bas d'un paquets de 64 bits.
PUSH Cette instruction permet d'empiler un mot ou un double mot dans la pile.
PUSHF Cette instruction permet d'empiler respectivement le registre 16 bits de drapeau des indicateurs d'état dans la pile.
PUSHFD Cette instruction permet d'empiler respectivement le registre 32 bits de drapeau des indicateurs d'état dans la pile.
PUSHFQ Cette instruction permet d'empiler respectivement le registre 64 bits de drapeau (RFLAGS) des indicateurs d'état dans la pile.
PXOR Cette instruction permet d'effectuer un ou exclusif binaire d'un quadruple mot d'une opérande source avec une opérande destination dans le cas des registres XMM.
RCL Cette instruction permet d'effectuer une rotation des bits vers la gauche en réinsérant le bit dans l'indicateur de retenue (CF) ainsi que dans le bit le plus à droite libéré.
RCPPS Cette instruction permet d'effectuer le calcul de la réciproque d'un paquet de valeurs de réel de simple précision.
RCPSS Cette instruction permet d'effectuer le calcul de la réciproque d'une valeur de réel de simple précision.
RCR Cette instruction permet d'effectuer une rotation des bits vers la droite en réinsérant le bit dans l'indicateur de retenue (CF) ainsi que dans le bit le plus à gauche libéré.
RDMSR Cette instruction permet de charger le contenu du modèle de registre 64-bits (MSR) indiquer par le registre ECX dans le couple de registre EDX:EAX.
RDPMC Cette instruction permet d'effectuer la lecture du compteur du moniteur de performance.
RDTSC Cette instruction permet de charger la valeur courante du compteur de temps du microprocesseur dans le couple de registres EDX:EAX.
RDTSCP Cette instruction permet de charger la valeur courante du compteur de temps du microprocesseur dans le couple de registres EDX:EAX et la valeur du TSC_AUX dans le registre ECX.
REP Cette instruction est utilisé comme préfixe avec d'autres instructions pour effectuer des répétitions d'instructions tant que CX ne vaut pas 0.
REPE Cette instruction est utilisé comme préfixe avec d'autres instructions pour effectuer des répétitions d'instructions jusqu'à ce que CX = 0 ou tant que l'indicateur ZF = 0.
REPNE Cette instruction est utilisé comme préfixe avec d'autres instructions pour effectuer des répétitions d'instructions jusqu'à ce que CX = 0 ou tant que l'indicateur ZF = 1.
REPNZ Cette instruction est utilisé comme préfixe avec d'autres instructions pour effectuer des répétitions d'instructions jusqu'à ce que CX = 0 ou tant que l'indicateur ZF = 1.
REPZ Cette instruction est utilisé comme préfixe avec d'autres instructions pour effectuer des répétitions d'instructions jusqu'à ce que CX = 0 ou tant que l'indicateur ZF = 0.
RET Cette instruction permet de quitter une procédure.
RETF Cette instruction permet de quitter une procédure ayant lieu avec un appel long (FAR CALL).
RETN Cette instruction permet de quitter une procédure ayant lieu avec un appel court (NEAR CALL).
ROL Cette instruction permet d'effectuer une rotation des bits vers la gauche en réinsérant le bit dans le bit le plus à droite libéré.
ROR Cette instruction permet d'effectuer une rotation des bits vers la droite en réinsérant le bit dans le bit le plus à gauche libéré.
ROUNDPD Cette instruction permet d'effectuer l'arrondissement de 2 valeurs réel de double précision dans l'opérande source en utilisant le mode spécifié par l'opérande immédiate et place le résultat dans l'opérande de destination.
ROUNDPS Cette instruction permet d'effectuer l'arrondissement de 4 valeurs réel de simple précision dans l'opérande source en utilisant le mode spécifié par l'opérande immédiate et place le résultat dans l'opérande de destination.
ROUNDSD Cette instruction permet d'effectuer l'arrondissement scalaire de valeurs réel de double précision, dans sa partie basse du quadruple mot, dans l'opérande source en utilisant le mode spécifié par l'opérande immédiate et place le résultat dans l'opérande de destination.
ROUNDSS Cette instruction permet d'effectuer l'arrondissement scalaire de valeurs réel de simple précision, dans sa partie basse du quadruple mot, dans l'opérande source en utilisant le mode spécifié par l'opérande immédiate et place le résultat dans l'opérande de destination.
RSM Cette instruction permet de retourner le contrôle du programme du mode de gestion système (SMM) pour le programme d'application ou la procédure du système d'exploitation ayant été interrompu lorsque le microprocesseur à recu un signal SSM.
RSQRTPS Cette instruction permet de calculer la réciproque approximative de la racine carré d'un paquet de simple précision.
RSQRTSS Cette instruction permet de calculer la réciproque approximative de la racine carré d'un scalaire de simple précision.
SAL Cette instruction permet d'effectuer une rotation des bits vers la gauche en réinsérant le bit dans l'indicateur de retenue (CF).
SAR Cette instruction permet d'effectuer une rotation des bits vers la droite en réinsérant le bit dans l'indicateur de retenue (CF).
SBB Cette instruction permet de soustraire avec l'indicateur de retenue (CF) une valeur à une opérande.
SCAS Cette instruction permet de comparer un octet, un mot ou un double mot avec la cellule mémoire à l'adresse ES:[DI] et incrémente/décrémente le registre DI en fonction de la taille de l'opérande cible et de l'état du drapeau de direction.
SCASB Cette instruction permet de comparer le registre AL avec la cellule mémoire à l'adresse ES:[DI] et incrémente/décrémente le registre DI de 1 en fonction de l'état du drapeau de direction.
SCASD Cette instruction permet de comparer le registre EAX avec la cellule mémoire à l'adresse ES:[DI] et incrémente/décrémente le registre DI de 4 en fonction de l'état du drapeau de direction.
SCASW Cette instruction permet de comparer le registre AX avec la cellule mémoire à l'adresse ES:[DI] et incrémente/décrémente le registre DI de 2 en fonction de l'état du drapeau de direction.
SET Ces instructions permettent de fixer la valeur d'une opérande 1 si la condition d'indicateur d'état du registre 32 bits de drapeau est vrai sinon fixe la valeur à 0.
SFENCE Cette instruction permet d'agir comme une barrière pour forcer une priorité en mémoire (sérialisation) entre les instructions précédant emmagasiner du SFENCE et les instructions suivant le SFENCE.
SGDT Cette instruction permet d'entreposer le sélecteur de segment dans le registre GDTR (registre de table global de descripteur) dans l'opérande de destination.
SHL Cette instruction permet d'effectuer une rotation des bits vers la gauche en réinsérant le bit dans l'indicateur de retenue (CF).
SHLD Cette instruction permet d'effectuer une rotation des bits d'un double mot vers la gauche en réinsérant le bit dans l'indicateur de retenue (CF).
SHR Cette instruction permet d'effectuer une rotation des bits vers la droite en réinsérant le bit dans l'indicateur de retenue (CF).
SHRD Cette instruction permet d'effectuer une rotation des bits d'un double mot vers la droite en réinsérant le bit dans l'indicateur de retenue (CF).
SHUFPD Cette instruction permet de copier 4 paquets de valeurs de format réel de double précision dans un opérande destinataire dans la partie basse d'un quadruple mot de celle-ci et copie 2 des 4 paquets de valeurs de format réel de simple précision dans l'opérande source dans la partie haute d'un quadruple mot de l'opérande destinataire.
SHUFPS Cette instruction permet de copier 4 paquets de valeurs de format réel de simple précision dans une opérande destinataire dans la partie basse d'un quadruple mot de celle-ci et copie 2 des 4 paquets de valeurs de format réel de simple précision dans l'opérande source dans la partie haute d'un quadruple mot de l'opérande destinataire.
SIDT Cette instruction permet d'entreposer le registre de descripteur de table d'interruption (IDTR) dans l'opérande de destination.
SLDT Cette instruction permet d'entreposer le sélecteur de segment dans le registre LDTR (registre de table local de descripteur) dans l'opérande de destination.
SMSW Cette instruction permet d'entreposer le mot des états (soit les bits de 0 à 15 du registre de contrôle CR0) à partir du registre de tâche (TR) dans l'opérande cible.
SQRTPD Cette instruction permet d'effectuer le calcul de la racine carré d'un paquet de valeur de double précision réel de l'opérande source et de mettre son résultat dans l'opérande de destination sous forme d'un réel de double précision.
SQRTPS Cette instruction permet d'effectuer le calcul de la racine carré d'un paquet de valeur de simple précision réel de l'opérande source et de mettre son résultat dans l'opérande de destination sous forme d'un réel de simple précision.
SQRTSD Cette instruction permet d'effectuer le calcul de la racine carré d'une valeur de double précision réel de l'opérande source et de mettre son résultat dans l'opérande de destination sous forme d'un réel de double précision.
SQRTSS Cette instruction permet d'effectuer le calcul de la racine carré d'une valeur de simple précision réel de l'opérande source et de mettre son résultat dans l'opérande de destination sous forme d'un réel de simple précision.
STC Cette instruction permet de fixer l'indicateur de retenue (CF) à la valeur 1.
STD Cette instruction permet de fixer l'indicateur de direction (DF) à la valeur 1.
STI Cette instruction permet de fixer l'indicateur d'interruption (IF) à la valeur 1.
STMXCSR Cette instruction permet de copier le MXCSR dans un emplacement mémoire de 32 bits.
STOS Cette instruction permet de copier un octet, un mot ou un double mot dans la cellule mémoire à l'adresse ES:[DI] et incrémente/décrémente le registre DI en fonction de la taille de l'opérande cible et de l'état du drapeau de direction.
STOSB Cette instruction permet de copier le registre AL dans la cellule mémoire à l'adresse ES:[DI] et incrémente/décrémente le registre DI de 1 en fonction de l'état du drapeau de direction.
STOSD Cette instruction permet de copier le registre EAX dans la cellule mémoire à l'adresse ES:[DI] et incrémente/décrémente le registre DI de 4 en fonction de l'état du drapeau de direction.
STOSQ Cette instruction permet de copier le registre RAX dans la cellule mémoire à l'adresse ES:[(R)DI] et incrémente/décrémente le registre (R)DI de 8 en fonction de l'état du drapeau de direction.
STOSW Cette instruction permet de copier le registre AX dans la cellule mémoire à l'adresse ES:[DI] et incrémente/décrémente le registre DI de 2 en fonction de l'état du drapeau de direction.
STR Cette instruction permet d'entreposer le sélecteur de segment à partir du registre de tâche (TR) à l'opérande cible
SUB Cette instruction permet de soustraire une valeur à une opérande.
SUBPD Cette instruction permet d'effectuer une soustraction de 2 paquets de valeurs réels de double précision d'un opérande source et d'un opérande destination et entrepose le résultat dans l'opérande de destination sous le format d'un paquet de valeurs réels de double précision.
SUBPS Cette instruction permet d'effectuer une soustraction de 4 paquets de valeurs réels de simple précision d'une opérande source et d'une opérande destination et entrepose le résultat dans l'opérande de destination sous le format d'un paquet de valeurs réels de simple précision.
SUBSD Cette instruction permet d'effectuer une soustraction de la partie basse d'une valeur réel de double précision d'un opérande source et destination et entrepose le résultat dans un opérande de destination de valeur réel de double précision.
SUBSS Cette instruction permet d'effectuer une soustraction de la partie basse d'une valeur réel de simple précision d'une opérande source et destination et entrepose le résultat dans une opérande de destination de valeur réel de simple précision.
SWAPGS Cette instruction permet de fournir une méthode à un logiciel système pour charger un pointeur sur une structure de données système.
SYSCALL Cette instruction permet d'effectuer le transfert du contrôle d'un point d'entrée fixe au système d'exploitation.
SYSENTER Cette instruction permet d'effectuer le transférer du contrôle d'un point d'entrée au système d'exploitation.
SYSEXIT Cette instruction permet de retourner du système d'exploitation à une application.
SYSRET Cette instruction permet de retourner du système d'exploitation à une application.
TEST Cette instruction permet d'effectuer un «Et binaire» sur une opérande cible sans modifier sa valeur.
UCOMISD Cette instruction permet d'effectuer une comparaison désordonnée de valeurs réels de double précision dans la partie basse d'un double mot du premier opérande et du deuxième opérande, et fixe les drapeaux ZF, PF et FC dans le registre EFLAGS selon le résultat (non-ordonnée, supérieur à, inférieur ou égal)
UCOMISS Cette instruction permet d'effectuer une comparaison désordonnée de valeurs réels de simple précision dans la partie basse d'un double mot du premier opérande et du deuxième opérande, et fixe les drapeaux ZF, PF et FC dans le registre EFLAGS selon le résultat (non-ordonnée, supérieur à, inférieur ou égal)
UD2 Cette instruction permet de provoquer l'exécution d'un code indéfinie.
UNPCKHPD Cette instruction permet d'effectuer un dépaquetage de la partie haute d'un réel de double précision d'un opérande source et destination et met le résultat dans l'opérande de destination.
UNPCKHPS Cette instruction permet d'effectuer un dépaquetage de la partie haute d'un réel de simple précision d'un opérande source et destination et met le résultat dans l'opérande de destination.
UNPCKLPD Cette instruction permet d'effectuer un dépaquetage de la partie basse d'un réel de double précision d'un opérande source et destination et met le résultat dans l'opérande de destination.
UNPCKLPS Cette instruction permet d'effectuer un dépaquetage de la partie basse d'un réel de simple précision d'une opérande source et destination et met le résultat dans l'opérande de destination.
V4FMADDPS Cette instruction permet de multiplier des paquets de valeurs réel de simple précision d'un bloc de registre source par les valeurs 128-bits spécifié et retourne le résultat.
V4FNMADDPS Cette instruction permet de multiplier négativement des paquets de valeurs réel de simple précision d'un bloc de registre source par les valeurs 128-bits spécifié et retourne le résultat.
V4FMADDSS Cette instruction permet de multiplier des valeurs scalaires réel de simple précision d'un bloc de registre source par les valeurs 128-bits spécifié et retourne le résultat.
V4FNMADDSS Cette instruction permet de multiplier négativement des valeurs scalaires réel de simple précision d'un bloc de registre source par les valeurs 128-bits spécifié et retourne le résultat.
VBROADCASTF128 Cette instruction permet d'effectuer le chargement de valeurs réels de 128 bits d'une opérande source et de se diffuser dans tous les éléments de l'opérande de destination.
VBROADCASTSD Cette instruction permet d'effectuer le chargement de valeurs réels de double précision d'une opérande source et de se diffuser dans tous les éléments de l'opérande de destination.
VBROADCASTSS Cette instruction permet d'effectuer le chargement de valeurs réels de simple précision d'une opérande source et de se diffuser dans tous les éléments de l'opérande de destination.
VERR Cette instruction permet de vérifier si le code ou le segment de données spécifié est en mode lecture à partir du niveau de privilège courant (CPL).
VERW Cette instruction permet de vérifier si le code ou le segment de données spécifié est en mode écriture à partir du niveau de privilège courant (CPL).
VEXTRACTF128 Cette instruction permet d'effectuer l'extraction de paquet de valeurs réel de 128 bits d'une opérande source dans l'opérande de destination en tenant compte de la position d'extraction avec une opérande de destination.
VFMADD132PD Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un premier opérande source avec les deux ou quatres paquets de valeurs réels de double précision du troisième opérande source, ajoute la précision infinie intermédiaire au résultat de deux ou quatres paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMADD132PS Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un premier opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du troisième opérande source, ajoute la précision infinie intermédiaire au résultat de quatre ou huit paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFMADD132SD Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de double précision d'un premier opérande source avec la partie basse de paquets de valeurs réels de double précision du troisième opérande source, ajoute la précision infinie intermédiaire au résultat de la partie basse de paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMADD132SS Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de simple précision d'un premier opérande source avec la partie basse de paquets de valeurs réels de simple précision du troisième opérande source, ajoute la précision infinie intermédiaire au résultat de la partie basse de paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFMADD213PD Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un second opérande source avec les deux ou quatres paquets de valeurs réels de double précision du premier opérande source, ajoute la précision infinie intermédiaire au résultat de deux ou quatres paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMADD213PS Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un second opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du premier opérande source, ajoute la précision infinie intermédiaire au résultat de quatre ou huit paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFMADD213SD Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de double précision d'un second opérande source avec la partie basse de paquets de valeurs réels de double précision du premier opérande source, ajoute la précision infinie intermédiaire au résultat de la partie basse de paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMADD213SS Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de simple précision d'un deuxième opérande source avec la partie basse de paquets de valeurs réels de simple précision du premier opérande source, ajoute la précision infinie intermédiaire au résultat de la partie basse de paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFMADD231PD Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un second opérande source avec les deux ou quatres paquets de valeurs réels de double précision du troisième opérande source, ajoute la précision infinie intermédiaire au résultat de deux ou quatres paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMADD231PS Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un second opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du troisième opérande source, ajoute la précision infinie intermédiaire au résultat de quatre ou huit paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFMADD231SD Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de double précision d'un second opérande source avec la partie basse de paquets de valeurs réels de double précision du troisième opérande source, ajoute la précision infinie intermédiaire au résultat de la partie basse de paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMADD231SS Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de simple précision d'un deuxième opérande source avec la partie basse de paquets de valeurs réels de simple précision du troisième opérande source, ajoute la précision infinie intermédiaire au résultat de la partie basse de paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFMADDSUB132PD Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un premier opérande source avec les deux ou quatres paquets de valeurs réels de double précision du troisième opérande source, ajoute la précision infinie intermédiaire impaire et soustrait la précision intermédiaire paire au résultat de deux ou quatres paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMADDSUB132PS Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un premier opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du troisième opérande source, ajoute la précision infinie intermédiaire impaire et soustrait la précision intermédiaire paire au résultat de quatre ou huit paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFMADDSUB213PD Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un deuxième opérande source avec les deux ou quatres paquets de valeurs réels de double précision du premier opérande source, ajoute la précision infinie intermédiaire impaire et soustrait la précision intermédiaire paire au résultat de deux ou quatres paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMADDSUB213PS Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un deuxième opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du premier opérande source, ajoute la précision infinie intermédiaire impaire et soustrait la précision intermédiaire paire au résultat de quatre ou huit paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFMADDSUB231PD Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un deuxième opérande source avec les deux ou quatres paquets de valeurs réels de double précision du troisième opérande source, ajoute la précision infinie intermédiaire impaire et soustrait la précision intermédiaire paire au résultat de deux ou quatres paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMADDSUB231PS Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un deuxième opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du troisième opérande source, ajoute la précision infinie intermédiaire impaire et soustrait la précision intermédiaire paire au résultat de quatre ou huit paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFMSUBADD132PD Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un premier opérande source avec les deux ou quatres paquets de valeurs réels de double précision du troisième opérande source, soustrait la précision infinie intermédiaire impaire et ajoute la précision intermédiaire paire au résultat de deux ou quatres paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMSUBADD132PS Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un premier opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du troisième opérande source, soustrait la précision infinie intermédiaire impaire et ajoute la précision intermédiaire paire au résultat de quatre ou huit paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFMSUBADD213PD Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un deuxième opérande source avec les deux ou quatres paquets de valeurs réels de double précision du premier opérande source, soustrait la précision infinie intermédiaire impaire et ajoute la précision intermédiaire paire au résultat de deux ou quatres paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMSUBADD213PS Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un deuxième opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du premier opérande source, soustrait la précision infinie intermédiaire impaire et ajoute la précision intermédiaire paire au résultat de quatre ou huit paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFMSUBADD231PD Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un deuxième opérande source avec les deux ou quatres paquets de valeurs réels de double précision du troisième opérande source, soustrait la précision infinie intermédiaire impaire et ajoute la précision intermédiaire paire au résultat de deux ou quatres paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMSUBADD231PS Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un deuxième opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du troisième opérande source, soustrait la précision infinie intermédiaire impaire et ajoute la précision intermédiaire paire au résultat de quatre ou huit paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFMSUB132PD Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un premier opérande source avec les deux ou quatres paquets de valeurs réels de double précision du troisième opérande source, soustrait la précision infinie intermédiaire au résultat de deux ou quatres paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMSUB132PS Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un premier opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du troisième opérande source, soustrait la précision infinie intermédiaire au résultat de quatre ou huit paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFMSUB132SD Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de double précision d'un premier opérande source avec la partie basse de paquets de valeurs réels de double précision du troisième opérande source, soustrait la précision infinie intermédiaire au résultat de la partie basse de paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMSUB132SS Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de simple précision d'un premier opérande source avec la partie basse de paquets de valeurs réels de simple précision du troisième opérande source, soustrait la précision infinie intermédiaire au résultat de la partie basse de paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFMSUB213PD Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un deuxième opérande source avec les deux ou quatres paquets de valeurs réels de double précision du premier opérande source, soustrait la précision infinie intermédiaire au résultat de deux ou quatres paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMSUB213PS Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un deuxième opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du premier opérande source, soustrait la précision infinie intermédiaire au résultat de quatre ou huit paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFMSUB213SD Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de double précision d'un deuxième opérande source avec la partie basse de paquets de valeurs réels de double précision du premier opérande source, soustrait la précision infinie intermédiaire au résultat de la partie basse de paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMSUB213SS Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de simple précision d'un deuxième opérande source avec la partie basse de paquets de valeurs réels de simple précision du premier opérande source, soustrait la précision infinie intermédiaire au résultat de la partie basse de paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFMSUB231PD Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un deuxième opérande source avec les deux ou quatres paquets de valeurs réels de double précision du troisième opérande source, soustrait la précision infinie intermédiaire au résultat de deux ou quatres paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMSUB231PS Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un deuxième opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du troisième opérande source, soustrait la précision infinie intermédiaire au résultat de quatre ou huit paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFMSUB231SD Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de double précision d'un deuxième opérande source avec la partie basse de paquets de valeurs réels de double précision du troisième opérande source, soustrait la précision infinie intermédiaire au résultat de la partie basse de paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFMSUB231SS Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de simple précision d'un deuxième opérande source avec la partie basse de paquets de valeurs réels de simple précision du troisième opérande source, soustrait la précision infinie intermédiaire au résultat de la partie basse de paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFNMADD132PD Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un premier opérande source avec les deux ou quatres paquets de valeurs réels de double précision du troisième opérande source, ajoute la précision infinie intermédiaire négative au résultat de deux ou quatres paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFNMADD132PS Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un premier opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du troisième opérande source, ajoute la précision infinie intermédiaire négative au résultat de quatre ou huit paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFNMADD132SD Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de double précision d'un premier opérande source avec la partie basse de paquets de valeurs réels de double précision du troisième opérande source, ajoute la précision infinie intermédiaire négative au résultat de la partie basse de paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFNMADD132SS Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de simple précision d'un premier opérande source avec la partie basse de paquets de valeurs réels de simple précision du troisième opérande source, ajoute la précision infinie intermédiaire négative au résultat de la partie basse de paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFNMADD213PD Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un deuxième opérande source avec les deux ou quatres paquets de valeurs réels de double précision du premier opérande source, ajoute la précision infinie intermédiaire négative au résultat de deux ou quatres paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFNMADD213PS Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un deuxième opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du premier opérande source, ajoute la précision infinie intermédiaire négative au résultat de quatre ou huit paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFNMADD213SD Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de double précision d'un deuxième opérande source avec la partie basse de paquets de valeurs réels de double précision du premier opérande source, ajoute la précision infinie intermédiaire négative au résultat de la partie basse de paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFNMADD213SS Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de simple précision d'un deuxième opérande source avec la partie basse de paquets de valeurs réels de simple précision du premier opérande source, ajoute la précision infinie intermédiaire négative au résultat de la partie basse de paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFNMADD231PD Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un deuxième opérande source avec les deux ou quatres paquets de valeurs réels de double précision du troisième opérande source, ajoute la précision infinie intermédiaire négative au résultat de deux ou quatres paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFNMADD231PS Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un deuxième opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du troisième opérande source, ajoute la précision infinie intermédiaire négative au résultat de quatre ou huit paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFNMADD231SD Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de double précision d'un deuxième opérande source avec la partie basse de paquets de valeurs réels de double précision du troisième opérande source, ajoute la précision infinie intermédiaire négative au résultat de la partie basse de paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFNMADD231SS Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de simple précision d'un deuxième opérande source avec la partie basse de paquets de valeurs réels de simple précision du troisième opérande source, ajoute la précision infinie intermédiaire négative au résultat de la partie basse de paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFNMSUB132PD Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un premier opérande source avec les deux ou quatres paquets de valeurs réels de double précision du troisième opérande source, soustrait la précision infinie intermédiaire négative au résultat de deux ou quatres paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFNMSUB132PS Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un premier opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du troisième opérande source, soustrait la précision infinie intermédiaire négative au résultat de quatre ou huit paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFNMSUB132SD Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de double précision d'un premier opérande source avec la partie basse de paquets de valeurs réels de double précision du troisième opérande source, soustrait la précision infinie intermédiaire négative au résultat de la partie basse de paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFNMSUB132SS Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de simple précision d'un premier opérande source avec la partie basse de paquets de valeurs réels de simple précision du troisième opérande source, soustrait la précision infinie intermédiaire négative au résultat de la partie basse de paquets dans le deuxième opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFNMSUB213PD Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un deuxième opérande source avec les deux ou quatres paquets de valeurs réels de double précision du premier opérande source, soustrait la précision infinie intermédiaire négative au résultat de deux ou quatres paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFNMSUB213PS Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un deuxième opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du premier opérande source, soustrait la précision infinie intermédiaire négative au résultat de quatre ou huit paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFNMSUB213SD Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de double précision d'un deuxième opérande source avec la partie basse de paquets de valeurs réels de double précision du premier opérande source, soustrait la précision infinie intermédiaire négative au résultat de la partie basse de paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFNMSUB213SS Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de simple précision d'un deuxième opérande source avec la partie basse de paquets de valeurs réels de simple précision du premier opérande source, soustrait la précision infinie intermédiaire négative au résultat de la partie basse de paquets dans le troisième opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFNMSUB231PD Cette instruction permet d'effectuer la multiplication de deux ou quatre paquets de valeur réel de double précision d'un deuxième opérande source avec les deux ou quatres paquets de valeurs réels de double précision du troisième opérande source, soustrait la précision infinie intermédiaire négative au résultat de deux ou quatres paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de deux ou quatre paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFNMSUB231PS Cette instruction permet d'effectuer la multiplication de quatre ou huit paquets de valeur réel de simple précision d'un deuxième opérande source avec les quatre ou huit paquets de valeurs réels de simple précision du troisième opérande source, soustrait la précision infinie intermédiaire négative au résultat de quatre ou huit paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de quatre ou huit paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VFNMSUB231SD Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de double précision d'un deuxième opérande source avec la partie basse de paquets de valeurs réels de double précision du troisième opérande source, soustrait la précision infinie intermédiaire négative au résultat de la partie basse de paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de double précision dans un opérande de destination (premier opérande source).
VFNMSUB231SS Cette instruction permet d'effectuer la multiplication de la partie basse de paquets de valeur réel de simple précision d'un deuxième opérande source avec la partie basse de paquets de valeurs réels de simple précision du troisième opérande source, soustrait la précision infinie intermédiaire négative au résultat de la partie basse de paquets dans le premier opérande source, effectue l'arrondissement et entrepose le résultat de paquets de valeurs réel de simple précision dans un opérande de destination (premier opérande source).
VINSERTF128 Cette instruction permet d'insérer une valeur réel de 128 bits d'un opérande source dans l'emplacement d'un registre d'opérande de destination et met des 0 dans les données en dehors du masque de destination.
VLDMXCSR Cette instruction permet d'effectuer le chargement du mot de contrôle (MXCSR) d'une opérande mémoire 32 bits pour l'AVX.
VMASKMOVPD Cette instruction permet d'effectuer un chargement conditionnel des valeurs réels de double précision de paquets d'une opérande de 128 ou 256 bits avec le masque de destination et entrepose le résultat dans l'opérande de destination.
VMASKMOVPS Cette instruction permet d'effectuer un chargement conditionnel des valeurs réels de simple précision de paquets d'une opérande de 128 ou 256 bits avec le masque d'opérande et entrepose le résultat dans l'opérande de destination.
VMCALL Cette instruction permet de fournir un mécanisme invité logiciel pour appeler un service dans un moniteur VM.
VMCLEAR Cette instruction permet d'appliquer un VMCS à une région VMCS à l'adresse physique contenu dans l'opération spécifié.
VMLAUNCH Cette instruction permet de gérer l'entrée VM par le VMCS courant, de façon à échoué si l'état de lancement VMCS courant n'est pas effacé. Si l'instruction est un succès, il définit l'état de lancement à relancer.
VMLOAD Cette instruction permet d'effectuer le chargement d'un sous-ensemble d'état de microprocesseur dans un VMCB spécifié par une adresse physique contenu dans le registre RAX.
VMPTRLD Cette instruction permet de marquer le pointeur VMCS courant valide et charge celui-ci avec une adresse physique dans l'opérande d'instruction.
VMPTRST Cette instruction permet d'entreposer le pointeur VMCS courant dans l'adresse mémoire spécifié.
VMREAD Cette instruction permet d'effectuer la lecture du champ spécifié dans le VMCS et l'entrepose dans l'opérande de destination spécifié.
VMRESUME Cette instruction permet de gérer l'entrée VM par le VMCS courant, de façon à échoué si l'état le lancement VMCS courant n'est pas lancé.
VMRUN Cette instruction permet de lancer l'exécution d'un flux d'instructions invité.
VMSAVE Cette instruction permet d'entreposer un sous-ensemble d'état du microprocesseur dans un VMCB spécifié par une adresse physique contenu dans le registre RAX.
VMWRITE Cette instruction permet d'effectuer l'écriture du champ spécifié du VMCS spécifié par l'opérande source secondaire (registre seulement) en utilisant le contenu de l'opérande source primaire (registre ou mémoire).
VMXOFF Cette instruction permet d'utiliser le processeur logique en dehors de l'opération VMX, de débloquer le signal INIT, de conditionnellement réactiver le A20M et d'effacer tous les rangs d'adresse du moniteur.
VMXON Cette instruction permet d'utiliser le processeur logique dans une opération VMX avec le VMCS non courant, le signal INIT bloqué, la désactivation A20M, et en effaçant n'importe quel rang d'adresse du moniteur établit avec l'instruction MONITOR.
VP4DPWSSD Cette instruction permet de multiplier des nombres entiers d'un bloc de registre par un nombre entier en 128-bits et retourne le résultats dans un double mots.
VP4DPWSSDS Cette instruction permet de calculer 4 bloc source de registres séquentiel de deux opérandes de mot entier avec un accumulateur en double mot et une saturation de signe.
VPERM2F128 Cette instruction permet d'effectuer la permutation de valeurs réel de 128 bits d'un premier opérande source utilisant un champ de 8 bits de contrôle dans les octets bas d'un second opérande source et entrepose les résultats dans l'opérande de destination.
VPERMB Cette instruction permet de copier les octets d'un second opérande source (le troisième opérande) vers l'opérande de destination (le premier opérande).
VPERMI2B Cette instruction permet de permuter les valeurs d'octet dans le second opérande (le premier opérande source) et le troisième opérande (le second opérande source) en utilisant l'indice d'octet dans le premier opérande (l'opérande de destination) vers les éléments d'octet sélectionné d'un second ou troisième opérande.
VPERMILPD Cette instruction permet d'effectuer la permutation de valeurs réels de double précision d'un premier opérande source utilisant un champ de 8 bits de contrôle dans les octets bas d'un second opérande source et entrepose les résultats dans l'opérande de destination.
VPERMILPS Cette instruction permet d'effectuer la permutation de valeurs réels de simple précision d'un premier opérande source utilisant un champ de 8 bits de contrôle dans les octets bas d'un second opérande source et entrepose les résultats dans l'opérande de destination.
VPERMT2W Cette instruction permet de permuter les valeurs 16 bits dans le premier opérande et le troisième opérande (le second opérande source) en utilisant un indice dans le second opérande (le premier opérande source) vers les éléments sélectionné du premier et troisième opérande.
VPERMT2D Cette instruction permet de permuter les valeurs 32 bits dans le premier opérande et le troisième opérande (le second opérande source) en utilisant un indice dans le second opérande (le premier opérande source) vers les éléments sélectionné du premier et troisième opérande.
VPERMT2Q Cette instruction permet de permuter les valeurs 64 bits dans le premier opérande et le troisième opérande (le second opérande source) en utilisant un indice dans le second opérande (le premier opérande source) vers les éléments sélectionné du premier et troisième opérande.
VPERMT2PS Cette instruction permet de permuter les valeurs 32 bits de réel de simple précision dans le premier opérande et le troisième opérande (le second opérande source) en utilisant un indice dans le second opérande (le premier opérande source) vers les éléments sélectionné du premier et troisième opérande.
VPERMT2PD Cette instruction permet de permuter les valeurs 64 bits de réel de double précision dans le premier opérande et le troisième opérande (le second opérande source) en utilisant un indice dans le second opérande (le premier opérande source) vers les éléments sélectionné du premier et troisième opérande.
VPMADD52LUQ Cette instruction permet de multiplier un paquet d'entiers 52 bits de chaque élément quadruple mot du premier opérande source (le seconde opérande) avec le paquet de nombre naturel 52 bits dans les éléments correspondant du second opérande source (le troisième opérande) vers le paquet de 104 bits intermédiaire.
VPMADD52HUQ Cette instruction permet de multiplier un paquet de nombre naturel 52 bits de chaque élément quadruple mot du premier opérande source (le seconde opérande) avec le paquet d'entiers 52 bits dans les éléments correspondant du second opérande source (le troisième opérande) vers le paquet de 104 bits intermédiaire.
VPMULTISHIFTQB Cette instruction permet de sélectionner 8 octets non-alignés de chaque entrée d'élément quadruple mot du second opérande source (le troisième opérande) et écrit 8 octets assemblés pour chaque élément quadruple mot dans l'opérande de destination (le premier opérande).
VPOPCNTD Cette instruction permet de compter le nombre de bits réglés sur chacun des éléments double mot de sa source et place les résultats dans le registre de destination.
VPOPCNTQ Cette instruction permet de compter le nombre de bits réglés sur chacun des éléments quadruple mot de sa source et place les résultats dans le registre de destination.
VZEROALL Cette instruction permet de mettre la valeur 0 dans tous les registres XMM ou YMM.
VZEROUPPER Cette instruction permet de mettre la valeur 0 dans chacun des 128 bits de la partie haute de tous les registres XMM ou YMM.
WAIT Cette instruction permet de faire passer le microprocesseur en mode d'attente jusqu'à ce que la ligne de teste sur la carte mère s'active.
WBINVD Cette instruction permet de désactiver et de vider le tampon interne du micro-processeur.
WRMSR Cette instruction écrit les valeurs contenues dans le MSR (Model-Specific Register) en fonction du registre d'index ECX dans la paire des registres EDX:EAX.
XADD Cette instruction permet d'échanger le premier opérande avec le deuxième opérande, et ensuite effectue la somme des valeurs dans le premier opérande.
XCHG Cette instruction permet d'échanger la valeur de deux opérandes.
XGETBV Cette instruction permet d'effectuer la lecture du registre de contrôle étendue (XCR) spécifié par le registre ECX dans les registres EDX:EAX.
XLAT Cette instruction permet de remplacer le contenu du registre AL par un octet de la «tablesource».
XLATB Cette instruction permet de remplacer le contenu du registre AL par un octet de la «tablesource» sans opérande.
XOR Cette instruction permet d'effectuer un OU exclusif BINAIRE sur les 2 opérandes spécifiés.
XORPD Cette instruction permet d'effectuer un ou exclusif binaire de 2 paquets de valeurs réel de double précision dans un opérande source et destination et de mettre le résultat dans l'opérande de destination.
XORPS Cette instruction permet d'effectuer un ou exclusif binaire de 4 paquets de valeurs réel de simple précision dans une opérande source et destination et de mettre le résultat dans l'opérande de destination.
XRSTOR Cette instruction permet d'effectuer une restauration complète ou partiel des états actifs du processeur en utilisant les informations entreposé dans les adresses de mémoire spécifié par l'opérande.
XSAVE Cette instruction permet d'effectuer une sauvegarde complète ou partiel des états actifs du processeur en utilisant les informations entreposé dans les adresses de mémoire spécifié par l'opérande.
XSETBV Cette instruction permet d'effectuer l'écriture du registre de contrôle étendue (XCR) spécifié par les registres EDX:EAX à l'aide du registre ECX.


Dernière mise à jour : Jeudi, le 22 août 2019