Section courante

A propos

Section administrative du site

Voici la liste des opcodes en 16 et 32 bits :

Opcode Instruction Description
00h (r/m8) ADD r/m8 Cette instruction additionne 2 quantités numérique sur 8 bits.
01h (r/m16) ADD r/m16 Cette instruction additionne 2 quantités numérique sur 16 bits.
02h (r/m8) ADD r/m8 Cette instruction additionne 2 quantités numérique sur 8 bits.
03h (r/m16) ADD r/m16 Cette instruction additionne 2 quantités numérique sur 16 bits.
04h (xxh) ADD AL,xxh Cette instruction additionne une valeur 8 bits immédiate au registre AL.
05h (xxh) (yyh) ADD AX,yyxxh Cette instruction additionne une valeur 16 bits immédiate au registre AX.
06h PUSH ES Cette instruction permet d'empiler le registre ES dans la pile.
07h POP ES Cette instruction permet de désempiler de la pile une mot et la met dans le registre ES.
08h (r/m8) OR r/m8 Cette instruction permet d'effectuer un OU BINAIRE sur les 2 opérandes spécifiés 8 bits.
09h (r/m16) OR r/m16 Cette instruction permet d'effectuer un OU BINAIRE sur les 2 opérandes spécifiés 16 bits.
0Ah (r/m8) OR r/m8 Cette instruction permet d'effectuer un OU BINAIRE sur les 2 opérandes spécifiés 8 bits.
0Bh (r/m16) OR r/m16 Cette instruction permet d'effectuer un OU BINAIRE sur les 2 opérandes spécifiés 16 bits.
0Ch (xxh) OR AL,xxh Cette instruction permet d'effectuer un OU BINAIRE sur le registre AL avec une valeur immédiate 8 bits.
0Dh (xxh) (yyh) OR AX,yyxxh Cette instruction permet d'effectuer un OU BINAIRE sur le registre AX avec une valeur immédiate 16 bits.
0Eh PUSH CS Cette instruction permet d'empiler le registre CS dans la pile.
0Fh 01h C8h MONITOR Cette instruction permet d'indiquer au microprocesseur quel rangé d'adresse est à surveiller par l'instruction STORE.
0Fh 01h C9h 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.
0Fh 01h D9h VMMCALL Cette instruction permet de fournir un mécanisme invité pour communiquer explicitement avec le VMM en générant un #VMEXIT.
0Fh 01h DCh STGI Cette instruction permet de fixer les drapeaux global d'interruption (GIF). Quand le GIF est à 1, les interruptions externes sont réactivés.
0Fh 01h DDh CLGI Cette instruction permet d'effacer le drapeau d'interruption global (GIF).
0Fh 01h DEh SKINIT EAX Cette instruction permet de réinitialiser de façon sécuritaire le microprocesseur et de démarrer un logiciel de confiance comme un VMM.
0Fh 01h DFh INVLPGA RAX, ECX Cette instruction permet d'invalider la cartographie TLB (Translation Lookaside Buffer) pour une page virtuel et un ASID spécifié.
0Fh 01h F8h 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.
0Fh 01h F9h 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.
0Fh 05h SYSCALL Cette instruction permet d'effectuer le transfert du contrôle d'un point d'entrée fixe au système d'exploitation.
0Fh 06h CLTS Cette instruction permet de mettre à 0 le drapeau de l'indicateur de tâche (Task-Switch) du registre CR0.
0Fh 07h LOADALL Cette instruction permet d'effectuer le chargement de tous les registres de descripteur de cache.
0Fh 07h SYSRET Cette instruction permet de retourner du système d'exploitation à une application.
0Fh 08h WBINVD Cette instruction permet de désactiver et de vider le tampon interne du micro-processeur.
0Fh 0Bh UD2 Cette instruction permet de provoquer l'exécution d'un code indéfinie.
0Fh 0Eh FEMMS Cette instruction permet d'effacer les états MMX après le passage d'instructions MMX.
0Fh 2Ah /r CVTPI2PS xmm,mm/m64 Cette instruction permet de convertir un entier de format double mot en une valeur réel de simple précision compacté.
0Fh 2Ch /r CVTTPS2PI mm,xmm/m64 Cette instruction permet de convertir une valeur réel de simple précision compacté avec tronquage en un entier de format double mot compacté.
0Fh 2Dh /r CVTPS2PI mm,xmm/m64 Cette instruction permet de convertir une valeur réel de simple précision compacté en un entier de format double mot.
0Fh 2Fh /r COMISS xmm1,xmm2/m32 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).
0Fh 30h WRMSR Cette instruction écrit les valeurs contenu dans le MSR (Model-Specific Register) en fonction du registre d'index ECX dans la paire des registres EDX:EAX.
0Fh 31h RDTSC Cette instruction permet de charger la valeur courante du compteur de temps du microprocesseur dans le couple de registres EDX:EAX.
0Fh 32h 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.
0Fh 33h RDPMC Cette instruction permet d'effectuer la lecture du compteur du moniteur de performance.
0Fh 34h SYSENTER Cette instruction permet d'effectuer le transférer du contrôle d'un point d'entrée au système d'exploitation.
0Fh 35h SYSEXIT Cette instruction permet de retourner du système d'exploitation à une application.
0Fh 40h /r CMOVO reg16, reg/mem16 Copie si débordement (OF = 1)
0Fh 41h /r CMOVNO reg16, reg/mem16 Copie si pas de débordement (OF = 0)
0Fh 42h /r CMOVB reg16, reg/mem16 Copie si retenu (CF = 1)
0Fh 43h /r CMOVNB reg16,reg/mem16 Copie si pas retenu (CF = 0)
0Fh 44h /r CMOVZ reg16, reg/mem16 Copie si drapeau du zéro (ZF = 1)
0Fh 45h /r CMOVNZ reg16, reg/mem16 Copie si drapeau de pas de zéro (ZF = 0)
0Fh 46h /r CMOVBE reg16, reg/mem16 Copie si drapeau de zéro (ZF = 1) ou drapeau de retenu (CF = 1)
0Fh 47h /r CMOVNBE reg16, reg/mem16 Copie si drapeau de pas de zéro (ZF = 0) et drapeau de pas de retenu (CF = 0)
0Fh 48h /r CMOVS reg16, reg/mem16 Copie si drapeau de signe (SF = 1)
0Fh 49h /r CMOVNS reg16, reg/mem16 Copie si drapeau de pas de signe (SF = 0)
0Fh 4Ah /r CMOVP reg16, reg/mem16 Copie si drapeau de parité (PF = 1)
0Fh 4Bh /r CMOVNP reg16, reg/mem16 Copie si drapeau de pas de parité (PF = 0)
0Fh 4Ch /r CMOVL reg16, reg/mem16 Copie si SF <> OF
0Fh 4Dh /r CMOVNL reg16, reg/mem16 Copie si SF = OF
0Fh 4Eh /r CMOVLE reg16, reg/mem16 Copie si ZF = 1 ou SF <> OF
0Fh 4Fh /r CMOVNLE reg16, reg/mem16 Copie si ZF = 0 et SF = OF
0Fh 54h /r ANDPS xmmreg,r/m128 Cette instruction permet d'effectuer un ET BINAIRE sur les 2 opérandes 128 bits spécifiés.
0Fh 55h /r ANDNPS xmmreg,r/m128 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.
0Fh 58h /r ADDPS xmm1, xmm2/m128 Cette instruction permet d'ajouter le paquet de réel de simple précision de xmm2/m128 à xmm1
0Fh 5Ah /r CVTPS2PD xmm1, xmm2/m64 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.
0Fh 5Bh /r CVTDQ2PS xmm1, xmm2/m128 Cette instruction permet d'effectuer la conversion d'un paquet de double mot entier en valeurs réel de simple précision.
0Fh 5Eh /r DIVPS xmm1,xmm2/m128 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.
0Fh 77h EMMS Cette instruction permet de fixer les mots marqués du MPU de chacun un.
0Fh A0h PUSH FS Cette instruction permet d'empiler le registre FS dans la pile.
0Fh A1h POP FS Cette instruction permet de désempiler de la pile une mot et la met dans le registre FS.
0Fh A2h CPUID Cette instruction retourne le code d'identification du microprocesseur.
0Fh A3h /r BT reg/mem16, reg16 Copie la valeur de sélection de bit dans le drapeau de retenu
0Fh A8h PUSH GS Cette instruction permet d'empiler le registre GS dans la pile.
0Fh A9h POP GS Cette instruction permet de désempiler de la pile une mot et la met dans le registre GS.
0Fh AAh 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 à reçu un signal SSM.
0Fh ABh /r BTS reg/mem16, reg16 Copie la valeur du bit de sélection dans le drapeau de retenu et fixe le bit de sélection.
0Fh AEh /7 CLFLUSH mem8 Vide la ligne de cache contenu dans mem8.
0Fh AEh E8h 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.
0Fh AEh F0h 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.
0Fh AEh F8h 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.
0Fh B0h /r CMPXCHG reg/mem8, reg8 Compare de registre AL avec un emplacement 8 bits de registre ou mémoire. S'ils sont égale, le deuxième opérande est copié dans le première opérande.
0Fh B1h /r CMPXCHG reg/mem16, reg16 Compare de registre AX avec un emplacement 16 bits de registre ou mémoire. S'ils sont égale, le deuxième opérande est copié dans le première opérande.
0Fh B3h /r BTR reg/mem16, reg16 Copie la valeur du bit de sélection dans le drapeau de retenu et efface le bit de sélection.
0Fh BAh /4 ib BT reg/mem16, imm8 Copie la valeur de sélection de bit dans le drapeau de retenu
0Fh BAh /5 ib BTS reg/mem16, imm8 Copie la valeur du bit de sélection dans le drapeau de retenu et fixe le bit de sélection.
0Fh BAh /6 ib BTR reg/mem16, imm8 Copie la valeur du bit de sélection dans le drapeau de retenu et efface le bit de sélection.
0Fh BAh /7 ib BTC reg/mem16, imm8 Copie la valeur du bit de sélection dans le drapeau de retenu et complémente le bit de sélection.
0Fh BBh /r BTC reg/mem16, reg16 Copie la valeur du bit de sélection dans le drapeau de retenu et complémente le bit de sélection.
0Fh BCh /r BSF reg16, reg/mem16 Balayage de bit vers l'avant du contenu du registre/mémoire 16 bits
0Fh BDh /r BSR reg16, reg/mem16 Balayage de bit vers l'arrière du contenu du registre/mémoire 16 bits
0Fh C2h /r imm8 CMPPS xmm1,xmm2/m128,imm8 Cette instruction permet d'effectuer une comparaison SIMD 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 de la comparaison dans l'opérande de destination.
0Fh C7h /1 m64 CMPXCHG8B mem64 Compare la paire de registres EDX:EAX à l'emplacement mémoire de 64 bits. S'ils sont égale, alors fixe le drapeau de zéro à 1 et copie ECX:EBX dans l'emplacement mémoire. Autrement, copie l'emplacement mémoire dans EDX:EAX et efface le drapeau de zéro.
0Fh C8h +rd BSWAP reg32 Cette instruction permet d'inverser l'ordre des octets du registre 32 bits
0Fh FFh OIO Cette instruction permet de provoquer l'exécution d'un code indéfinie.
10h (r/m8) ADC r/m8 Cette instruction additionne 2 quantités numérique sur 8 bits et ajoute ensuite la valeur de l'indicateur de retenue, lequel est contenu dans le drapeau CF(CARRY FLAG), à la somme obtenu.
11h (r/m16) ADC r/m16 Cette instruction additionne 2 quantités numérique sur 16 bits et ajoute ensuite la valeur de l'indicateur de retenue, lequel est contenu dans le drapeau CF(CARRY FLAG), à la somme obtenu.
12h (r/m8) ADC r/m8 Cette instruction additionne 2 quantités numérique sur 8 bits et ajoute ensuite la valeur de l'indicateur de retenue, lequel est contenu dans le drapeau CF(CARRY FLAG), à la somme obtenu.
13h (r/m16) ADC r/m16 Cette instruction additionne 2 quantités numérique sur 16 bits et ajoute ensuite la valeur de l'indicateur de retenue, lequel est contenu dans le drapeau CF(CARRY FLAG), à la somme obtenu.
14h (xxh) ADC AL,xxh Cette instruction additionne une valeur 8 bits immédiate au registre AL et ajoute ensuite la valeur de l'indicateur de retenue, lequel est contenu dans le drapeau CF(CARRY FLAG), à la somme obtenu.
15h (xxh) (yyh) ADC AX,yyxxh Cette instruction additionne une valeur 16 bits immédiate au registre AX et ajoute ensuite la valeur de l'indicateur de retenue, lequel est contenu dans le drapeau CF(CARRY FLAG), à la somme obtenu.
16h PUSH SS Cette instruction permet d'empiler le registre SS dans la pile.
17h POP SS Cette instruction permet de désempiler de la pile une mot et la met dans le registre SS.
18h (r/m8) SBB r/m8 Cette instruction permet de soustraire avec l'indicateur de retenue (CF) une valeur à une opérande.
19h (r/m16) SBB r/m16 Cette instruction permet de soustraire avec l'indicateur de retenue (CF) une valeur à une opérande.
1Ah (r/m8) SBB r/m16 Cette instruction permet de soustraire avec l'indicateur de retenue (CF) une valeur à une opérande.
1Bh (r/m16) SBB r/m16 Cette instruction permet de soustraire avec l'indicateur de retenue (CF) une valeur à une opérande.
1Ch (xxh) SBB AL,xxh Cette instruction permet de soustraire avec l'indicateur de retenue (CF) une valeur à une opérande.
1Dh (xxh) (yyh) SBB AX,yyxxh Cette instruction permet de soustraire avec l'indicateur de retenue (CF) une valeur à une opérande.
1Eh PUSH DS Cette instruction permet d'empiler le registre DS dans la pile.
1Fh POP DS Cette instruction permet de désempiler de la pile une mot et la met dans le registre DS.
20h (r/m8) AND r/m8 Cette instruction permet d'effectuer un ET BINAIRE sur les 2 opérandes spécifiés 8 bits.
21h (r/m16) AND r/m16 Cette instruction permet d'effectuer un ET BINAIRE sur les 2 opérandes spécifiés 16 bits.
22h (r/m8) AND r/m8 Cette instruction permet d'effectuer un ET BINAIRE sur les 2 opérandes spécifiés 8 bits.
23h (r/m16) AND r/m16 Cette instruction permet d'effectuer un ET BINAIRE sur les 2 opérandes spécifiés 16 bits.
24h (xxh) AND AL,xxh Cette instruction permet d'effectuer un ET BINAIRE sur le registre AL avec une valeur immédiate 8 bits.
25h (xxh) (yyh) AND AX,yyxxh Cette instruction permet d'effectuer un ET BINAIRE sur le registre AX avec une valeur immédiate 16 bits.
26h ES: Cette instruction permet d'indiquer un préfixe au registre segment ES.
27h DAA Ajuste les décimal du registre AL
2Eh CS: Cette instruction permet d'indiquer un préfixe au registre segment CS.
2Fh DAS Ajuste les décimal du registre AL après soustraction
36h SS: Cette instruction permet d'indiquer un préfixe au registre segment SS.
37h AAA Cette instruction permet de créer un nombre dépaqueté BCD
38h /r CMP reg/mem8, reg8 Compare le contenu d'une opérande mémoire ou d'un registre 8 bits avec un registre 8 bits.
39h /r CMP reg/mem16, reg16 Compare le contenu d'une opérande mémoire ou d'un registre 16 bits avec un registre 16 bits.
3Bh /r CMP reg16, reg/mem16 Compare le contenu d'une opérande mémoire ou d'un registre 16 bits avec un registre 16 bits.
3Ch ib CMP AL, imm8 Compare une valeur 8 bits immédiate avec le contenu du registre AL.
3Dh iw CMP AX, imm16 Compare une valeur 16 bits immédiate avec le contenu du registre AX.
3Eh DS: Cette instruction permet d'indiquer un préfix au registre segment DS.
3Fh AAS Cette instruction permet de créer un nombre dépacter BCD à partir du contenu du registre AL
40h INC AX Cette instruction permet d'incrémenter le registre AX.
41h INC CX Cette instruction permet d'incrémenter le registre CX.
42h INC DX Cette instruction permet d'incrémenter le registre DX.
43h INC BX Cette instruction permet d'incrémenter le registre BX.
44h INC SP Cette instruction permet d'incrémenter le registre SP.
45h INC BP Cette instruction permet d'incrémenter le registre BP.
46h INC SI Cette instruction permet d'incrémenter le registre SI.
47h INC DI Cette instruction permet d'incrémenter le registre DI.
48h DEC AX Cette instruction permet de décrémenter le registre AX.
49h DEC CX Cette instruction permet de décrémenter le registre CX.
4Ah DEC DX Cette instruction permet de décrémenter le registre DX.
4Bh DEC BX Cette instruction permet de décrémenter le registre BX.
4Ch DEC SP Cette instruction permet de décrémenter le registre SP.
4Dh DEC BP Cette instruction permet de décrémenter le registre BP.
4Eh DEC SI Cette instruction permet de décrémenter le registre SI.
4Fh DEC DI Cette instruction permet de décrémenter le registre DI.
50h PUSH AX Cette instruction permet d'empiler le registre AX dans la pile.
51h PUSH CX Cette instruction permet d'empiler le registre CX dans la pile.
52h PUSH DX Cette instruction permet d'empiler le registre DX dans la pile.
53h PUSH BX Cette instruction permet d'empiler le registre BX dans la pile.
54h PUSH SP Cette instruction permet d'empiler le registre SP dans la pile.
55h PUSH BP Cette instruction permet d'empiler le registre BP dans la pile.
56h PUSH SI Cette instruction permet d'empiler le registre SI dans la pile.
57h PUSH DI Cette instruction permet d'empiler le registre DI dans la pile.
58h POP AX Cette instruction permet de désempiler de la pile une mot et la met dans le registre AX.
59h POP CX Cette instruction permet de désempiler de la pile une mot et la met dans le registre CX.
5Ah POP DX Cette instruction permet de désempiler de la pile une mot et la met dans le registre DX.
5Bh POP BX Cette instruction permet de désempiler de la pile une mot et la met dans le registre BX.
5Ch POP SP Cette instruction permet de désempiler de la pile une mot et la met dans le registre SP.
5Dh POP BP Cette instruction permet de désempiler de la pile une mot et la met dans le registre BP.
5Eh POP SI Cette instruction permet de désempiler de la pile une mot et la met dans le registre SI.
5Fh POP DI Cette instruction permet de désempiler de la pile une mot et la met dans le registre DI.
61h POPA Cette instruction permet de désempiler de la pile respectivement les registres DI, SI, BP, SP, BX, DX, CX et AX.
62h /r BOUND reg16, mem16&mem16 Test avec un index de tableau 16 bits spécifié deux valeurs 16 bits
63h /r ARPL reg/mem16, reg16 Ajuste le RPL du sélecteur de segment de destination au niveau inférieur du RPL du sélecteur de segment spécifié dans le registre source 16 bits.
64h FS: Cette instruction permet d'indiquer un préfixe au registre segment FS.
65h GS: Cette instruction permet d'indiquer un préfixe au registre segment GS.
66h 0Fh 2Ah /r CVTPI2PD xmm, mm/m64 Cette instruction permet d'effectuer la conversion d'un paquet de double mot entier en valeurs réel de double précision compacté.
66h 0Fh 2Ch /r CVTTPD2PI mm, xmm/m128 Cette instruction permet de convertir une valeur réel de double précision compacté avec tronquage en un entier de format double mot compacté.
66h 0Fh 2Dh /r CVTPD2PI mm, xmm/m128 Cette instruction permet d'effectuer la conversion d'un paquet de valeurs réel de double précision en double mot entier.
66h 0Fh 2Fh /r COMISD xmm1,xmm2/m64 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).
66h 0Fh 38h 14h /r BLENDVPS xmm1,xmm2/m128,xmm0 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.
66h 0Fh 38h 15h /r BLENDVPD xmm1,xmm2/m128,xmm0 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.
66h 0Fh 38h DBh /r AESIMC xmm1,xmm2/m128 Cette instruction permet d'effectuer une transformation InvMixColumns de l'opérande source et enregistre le résultat dans l'opérande de destination.
66h 0Fh 38h DCh /r AESENC xmm1,xmm2/m128 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.
66h 0Fh 38h DDh /r AESENCLAST xmm1,xmm2/m128 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.
66h 0Fh 38h DEh /r AESDEC xmm1,xmm2/m128 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.
66h 0Fh 38h DFh /r AESDECLAST xmm1,xmm2/m128 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.
66h 0Fh 3Ah 0Ch /r ib BLENDPS xmm1,xmm2/m128,imm8 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.
66h 0Fh 3Ah 0Dh /r ib BLENDPD xmm1,xmm2/m128,imm8 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.
66h 0Fh 3Ah 40h /r ib DPPS xmm1,xmm2/m128,imm8 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.
66h 0Fh 3Ah 41h /r ib DPPD xmm1,xmm2/m128,imm8 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.
66h 0Fh 3Ah DFh /r ib AESKEYGENASSIST xmm1,xmm2/m128,imm8 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.
66h 0Fh 54h /r ANDPD xmm1, xmm2/m128 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.
66h 0Fh 55h /r ANDNPD xmm1, xmm2/m128 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.
66h 0Fh 58h /r ADDPD xmm1, xmm2/m128 Cette instruction permet d'effectuer une addition de 2 paquets de valeurs réels de double 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 double précision.
66h 0Fh 5Ah /r CVTPD2PS xmm1, xmm2/m128 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.
66h 0Fh 5Bh /r CVTPS2DQ xmm1, xmm2/m128 Cette instruction permet d'effectuer la conversion d'un paquet de valeurs réel de simple précision en paquet de double mots entiers.
66h 0Fh 5Eh /r DIVPD xmm1, xmm2/m128 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.
66h 0Fh C2h /r ib CMPPD xmm1,xmm2/m128,imm8 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.
66h 0Fh D0h /r ADDSUBPD xmm1, xmm2/m128 Cette instruction permet d'effectuer une soustraction de la partie basse d'une valeur réel de double 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 double précision et d'effectuer une addition de la partie haute d'une valeur réel de double 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 double précision.
66h 0Fh E6h /r CVTTPD2DQ xmm1, xmm2/m128 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.
66h 60h PUSHAD Cette instruction permet d'empiler respectivement les registres EDI, ESI, EBP, ESP, EBX, EDX, ECX et EAX dans la pile.
66h 61h POPAD Cette instruction permet de désempiler de la pile respectivement les registres EDI, ESI, EBP, ESP, EBX, EDX, ECX et EAX.
66h 6Ch 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.
66h 6Fh 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.
66h 98h 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.
66h 99h CDQ Cette instruction permet de convertir le double mot en un quadruple mot, le résultat tient sur une taille de 64 bits.
66h 9Ch PUSHFD Cette instruction permet d'empiler respectivement le registre 32 bits de drapeau des indicateurs d'état dans la pile.
66h 9Dh POPFD Cette instruction permet de désempiler de la pile le registre 32 bits de drapeau contenant les indicateurs d'état.
66h A5h 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.
66h A7h 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.
66h ABh 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.
66h ADh 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.
66h AFh 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.
6Ch 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.
6Dh 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.
6Eh 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.
6Fh 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.
70h (rel8) JO rel8 Ces instructions permettent d'effectuer d'effectuer un branchement conditionnel à emplacement mémoire spécifié.
71h (rel8) JNO rel8 Ces instructions permettent d'effectuer d'effectuer un branchement conditionnel à emplacement mémoire spécifié.
72h (rel8) JB/JNAE/JC rel8 Ces instructions permettent d'effectuer d'effectuer un branchement conditionnel à emplacement mémoire spécifié.
73h (rel8) JNB/JAE/JNC rel8 Ces instructions permettent d'effectuer d'effectuer un branchement conditionnel à emplacement mémoire spécifié.
74h (rel8) JZ/JE rel8 Ces instructions permettent d'effectuer d'effectuer un branchement conditionnel à emplacement mémoire spécifié.
75h (rel8) JNZ/JNE rel8 Ces instructions permettent d'effectuer d'effectuer un branchement conditionnel à emplacement mémoire spécifié.
76h (rel8) JBE/JNA rel8 Ces instructions permettent d'effectuer d'effectuer un branchement conditionnel à emplacement mémoire spécifié.
77h (rel8) JNBE/JA rel8 Ces instructions permettent d'effectuer d'effectuer un branchement conditionnel à emplacement mémoire spécifié.
78h (rel8) JS rel8 Ces instructions permettent d'effectuer d'effectuer un branchement conditionnel à emplacement mémoire spécifié.
79h (rel8) JNS rel8 Ces instructions permettent d'effectuer d'effectuer un branchement conditionnel à emplacement mémoire spécifié.
7Ah (rel8) JP/JPE rel8 Ces instructions permettent d'effectuer d'effectuer un branchement conditionnel à emplacement mémoire spécifié.
7Bh (rel8) JNP/JPO rel8 Ces instructions permettent d'effectuer d'effectuer un branchement conditionnel à emplacement mémoire spécifié.
7Ch (rel8) JL/JNGE rel8 Ces instructions permettent d'effectuer d'effectuer un branchement conditionnel à emplacement mémoire spécifié.
7Dh (rel8) JNL/JGE rel8 Ces instructions permettent d'effectuer d'effectuer un branchement conditionnel à emplacement mémoire spécifié.
7Eh (rel8) JLE/JNG rel8 Ces instructions permettent d'effectuer d'effectuer un branchement conditionnel à emplacement mémoire spécifié.
7Fh (rel8) JNLE/JG rel8 Ces instructions permettent d'effectuer d'effectuer un branchement conditionnel à emplacement mémoire spécifié.
80h /0 ib ADD reg/mem8, imm8 Ajout immédiate de 8 bits à registre/mémoire 8 bits
80h /2 ib ADC reg/mem8, imm8 Cette instruction permet d'ajouter un immédiat de 8 bits à un registre/mémoire + CF
80h /4 ib AND reg/mem8, imm8 Et binaire sur le contenu du registre/mémoire 8 bits avec une valeur immédiate 8 bits
80h /7 ib CMP reg/mem8, imm8 Compare une valeur 8 bits immédiate avec le contenu d'une opérande mémoire ou d'un registre 8 bits.
81h /0 iw ADD reg/mem16, imm16 Ajout immédiate de 16 bits à registre/mémoire 16 bits
81h /2 iw ADC reg/mem16, imm16 Cette instruction permet d'ajouter un immédiat de 16 bits à registre/mémoire 16 bits + CF
81h /4 iw AND reg/mem16, imm16 Et binaire sur le contenu du registre/mémoire 16 bits avec une valeur immédiate 16 bits
81h /7 iw CMP reg/mem16, imm16 Compare une valeur 16 bits immédiate avec le contenu d'une opérande mémoire ou d'un registre 16 bits.
83h /0 ib ADD reg/mem16, imm8 Ajout entier immédiate de 8 bits à registre/mémoire 16 bits
83h /2 ib ADC reg/mem16, imm8 Cette instruction permet d'ajouter un immédiat de 8 bits entier à registre/mémoire 16 bits + CF
83h /4 ib AND reg/mem16, imm8 Et binaire sur le contenu du registre/mémoire 16 bits avec une valeur entière immédiate 8 bits
90h NOP Cette instruction ne fait rien.
91h XCHG AX,CX Cette instruction permet d'échanger les valeurs des registres AX et CX
92h XCHG AX,DX Cette instruction permet d'échanger les valeurs des registres AX et DX
94h XCHG AX,SP Cette instruction permet d'échanger les valeurs des registres AX et SP
95h XCHG AX,BP Cette instruction permet d'échanger les valeurs des registres AX et BP
96h XCHG AX,SI Cette instruction permet d'échanger les valeurs des registres AX et SI
97h XCHG AX,DI Cette instruction permet d'échanger les valeurs des registres AX et DI
98h 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.
99h 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.
9Ah {immW2} {immW1} CALL immW1:immW2 Cette instruction force le microprocesseur à exécuter les instructions du sous-programme indiqué par l'adresse d'appel avant de continuer.
9Bh 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.
9Bh DBh E0h FENI Cette instruction permet d'autoriser les interruptions.
9Bh DBh E1h FDISI Cette instruction permet de désactiver les interruptions.
9Bh DBh E2h FCLEX Cette instruction permet d'effacer toutes les exceptions contenu dans les drapeaux de registres du coprocesseur mathématique.
9Ch PUSHF Cette instruction permet d'empiler respectivement le registre 16 bits de drapeau des indicateurs d'état dans la pile.
9Dh POPF Cette instruction permet de désempiler de la pile le registre 16 bits de drapeau contenant les indicateurs d'état.
9Eh SAHF Cette instruction permet de copier les bits du registre AH dans l'octet de poids faible dans le registre des drapeaux (les indicateurs d'état).
9Fh LAHF Cette instruction permet de transférer les bits d'indicateurs du registre d'état vers le registre AH.
A0h xxh yyh MOV AL,[yyxxh] ...
A1h xxh yyh MOV AX,[yyxxh] ...
A2h xxh yyh MOV [yyxxh],AL ...
A3h xxh yyh MOV [yyxxh],AX ...
A4h 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.
A5h 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.
A6h 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.
A7h 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.
A8h xxh TEST AL,xxh Cette instruction permet d'effectuer un test de «Et binaire» avec une valeur immédiate de 8 bits sur le registre AL et indique le résultat de la comparaison sur le registre des drapeaux.
A9h xxh yyh TEST AX,yyxxh Cette instruction permet d'effectuer un test de «Et binaire» avec une valeur immédiate de 16 bits sur le registre AX et indique le résultat de la comparaison sur le registre des drapeaux.
AAh 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.
ABh 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.
ACh 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.
ADh 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.
AEh 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.
AFh 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.
B0h xxh MOV AL,xxh Cette instruction permet de copier une valeur immédiate de 8 bits dans le registre AL.
B1h xxh MOV CL,xxh Cette instruction permet de copier une valeur immédiate de 8 bits dans le registre CL.
B2h xxh MOV DL,xxh Cette instruction permet de copier une valeur immédiate de 8 bits dans le registre DL.
B3h xxh MOV BL,xxh Cette instruction permet de copier une valeur immédiate de 8 bits dans le registre BL.
B4h xxh MOV AH,xxh Cette instruction permet de copier une valeur immédiate de 8 bits dans le registre AH.
B5h xxh MOV CH,xxh Cette instruction permet de copier une valeur immédiate de 8 bits dans le registre CH.
B6h xxh MOV DH,xxh Cette instruction permet de copier une valeur immédiate de 8 bits dans le registre DH.
B7h xxh MOV BH,xxh Cette instruction permet de copier une valeur immédiate de 8 bits dans le registre BH.
B8h xxh yyh MOV AX,yyxxh Cette instruction permet de copier une valeur immédiate de 16 bits dans le registre AX.
B9h xxh yyh MOV CX,yyxxh Cette instruction permet de copier une valeur immédiate de 16 bits dans le registre CX.
BAh xxh yyh MOV DX,yyxxh Cette instruction permet de copier une valeur immédiate de 16 bits dans le registre DX.
BBh xxh yyh MOV BX,yyxxh Cette instruction permet de copier une valeur immédiate de 16 bits dans le registre BX.
BCh xxh yyh MOV SP,yyxxh Cette instruction permet de copier une valeur immédiate de 16 bits dans le registre SP.
BDh xxh yyh MOV BP,yyxxh Cette instruction permet de copier une valeur immédiate de 16 bits dans le registre BP.
BEh xxh yyh MOV SI,yyxxh Cette instruction permet de copier une valeur immédiate de 16 bits dans le registre SI.
BFh xxh yyh MOV DI,yyxxh Cette instruction permet de copier une valeur immédiate de 16 bits dans le registre DI.
C3h RETN Cette instruction permet de quitter une procédure ayant lieu avec un appel court (NEAR CALL).
C8h iw ib ENTER imm16, imm8 Crée un cadre de pile pour une procédure
C9h 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.
CAh xxh yyh RETF yyxxh Cette instruction permet de quitter une procédure ayant lieu avec un appel long (FAR CALL).
CBh RETF Cette instruction permet de quitter une procédure ayant lieu avec un appel long (FAR CALL).
CCh INT 03h Cette instruction permet d'exécuter l'interruption avec le numéro 03h.
CDh xxh INT xxh Cette instruction permet d'exécuter l'interruption avec le numéro spécifié.
CEh INTO Cette instruction permet d'exécuter l'interruption numéro 4 si le drapeau de débordement (OF) est fixé sur 1.
CFh IRET Cette instruction permet d'effectuer un retour précédemment provoquer par une interruption.
D4h 0Ah AAM Cette instruction offre la possibilité de convertir le produit de la multiplication de 2 valeurs de format DCB en un format DCB.
D5h 0Ah AAD Cette instruction permet de convertir une valeur de format DCB non compactée.
D6h SETALC (SALC) Cette instruction permet de copier la valeur du drapeau de retenue dans le registre AL en la multipliant par 0FFh.
D7h XLAT Cette instruction permet de remplacer le contenu du registre AL par un octet de la «tablesource».
D8h /0 FADD mem32 Cette instruction permet d'ajouter le nombre réel de valeur positive «source» à «cible» et enregistre la somme dans «cible».
D8h /2 FCOM mem32 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.
D8h /3 FCOMP mem32 Cette instruction permet de comparer 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.
D8h /6 FDIV mem32 Cette instruction permet d'effectuer des divisions de nombre réel de valeur positive source par cible et enregistrer le résultat dans cible.
D8h /7 FDIVR mem32 Cette instruction permet d'effectuer des division de nombre réel de valeur positive avec les registres inversés «cible» par «source».
D8h 06h yyh xxh imm8 ESC [xxyy],imm8 Cette instruction active le coprocesseur, lequel se permettra d'utiliser les méthodes d'adressage du processeur principal (CPU).
D8h (C0h+r) FADD fpureg Cette instruction permet d'ajouter le nombre réel de valeur positive «source» à «cible» et enregistre la somme dans «cible».
D8h (D0h+r) FCOM fpureg 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.
D8h (D8h+r) FCOMP fpureg Cette instruction permet de comparer 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.
D8h (F0h+r) FDIV fpureg Cette instruction permet d'effectuer des divisions de nombre réel de valeur positive source par cible et enregistrer le résultat dans cible.
D8h (F8h+r) FDIVR fpureg Cette instruction permet d'effectuer des division de nombre réel de valeur positive avec les registres inversés «cible» par «source».
D9h E0h FCHS Cette instruction permet d'inverser le signe du registre mathématique ST(0).
D9h E1h FABS Cette instruction permet de convertir le nombre réel contenu dans le registre mathématique ST(0) en sa valeur absolue.
D9h F0h F2XM1 Cette instruction permet de remplacer ST(0) avec 2 à la (ST(0) - 1).
D9h F6h FDECSTP Cette instruction permet de décrémenter le pointeur de pile de registres.
D9h FFh FCOS Cette instruction permet de calculer le cosinus du registre mathématique ST(0) et l'enregistrer dans le registre mathématique ST(1); ensuite met dans le registre mathématique ST(0) à la valeur 1,0.
DAh /0 FIADD mem32 Cette instruction permet d'ajouter le nombre réel source à cible et enregistre la somme dans cible.
DAh (C0h+i) FCMOVB ST,STi Cette instruction permet de déplacé des nombres réel si inférieur.
DAh (C8h+i) FCMOVE ST,STi Cette instruction permet de déplacé des nombres réel si égale.
DAh (D0h+i) FCMOVBE ST,STi Cette instruction permet de déplacé des nombres réel si inférieur ou égale.
DAh (D8h+i) FCMOVU ST,STi Cette instruction permet de déplacé des nombres réel si désordonné.
DBh (C0h+i) FCMOVNB ST,STi Cette instruction permet de déplacé des nombres réel si pas inférieur.
DBh (C8h+i) FCMOVNE ST,STi Cette instruction permet de déplacé des nombres réel si pas égale.
DBh (D0h+i) FCMOVNBE ST,STi Cette instruction permet de déplacé des nombres réel si pas inférieur ou égale.
DBh (D8h+i) FCMOVNU ST,STi Cette instruction permet de déplacé des nombres réel si pas désordonné.
DBh E4h FSETPM Cette instruction permet de faire passer le coprocesseur mathématique en mode protégé.
DBh (E8h+i) FUCOMI ST, ST(i) 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.
DBh (F0h+i) FCOMI ST, ST(i) 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.
DCh /0 FADD mem64 Cette instruction permet d'ajouter le nombre réel de valeur positive «source» à «cible» et enregistre la somme dans «cible».
DCh /2 FCOM mem64 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.
DCh /3 FCOMP mem64 Cette instruction permet de comparer 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.
DCh /6 FDIV mem64 Cette instruction permet d'effectuer des divisions de nombre réel de valeur positive source par cible et enregistrer le résultat dans cible.
DCh /7 FDIVR mem64 Cette instruction permet d'effectuer des division de nombre réel de valeur positive avec les registres inversés «cible» par «source».
DCh (C0h+r) FADD fpureg,ST0 Cette instruction permet d'ajouter le nombre réel de valeur positive «source» à «cible» et enregistre la somme dans «cible».
DCh (F0h+r) FDIVR fpureg,ST0 Cette instruction permet d'effectuer des division de nombre réel de valeur positive avec les registres inversés «cible» par «source».
DCh (F8h+r) FDIV fpureg,ST0 Cette instruction permet d'effectuer des divisions de nombre réel de valeur positive source par cible et enregistrer le résultat dans cible.
DDh (C0h+r) FFREE fpureg Cette instruction permet de libérer le registre «cible» devant représenté un des registres de la pile.
DEh /0 FIADD mem16 Cette instruction permet d'ajouter le nombre réel source à cible et enregistre la somme dans cible.
DEh (C0h+r) FADDP fpureg 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.
DEh D9h 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).
DEh (F0h+r) FDIVRP fpureg Cette instruction permet d'effectuer des divisions de nombre réel avec les registres inversés «cible» par «source» et place ST(0) dans la pile.
DEh F1h FDIVRP Cette instruction permet d'effectuer des division de nombre réel de valeur positive avec les registres inversés «cible» par «source».
DEh (F8h+r) FDIVP fpureg Cette instruction permet d'effectuer des division de nombre réel et place ST(0) dans la pile.
DFh /4 FBLD mem80 Cette instruction charge la valeur de format DCB compactée après le registre mathématique ST(0).
DFh /6 FBSTP mem80 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.
DFh (C0h+r) FFREEP fpureg Cette instruction permet de libérer un des registres de la pile et d'ensuite de désempiler le registre de la pile.
DFh (E8h+i) FUCOMIP ST, ST(i) 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.
DFh (F0h+i) FCOMIP ST, ST(i) 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.
E8h iw CALL rel16off Appel court avec une destination spécifié par une adresse 16 bits
EBh (rel8) JMP rel8 Cette instruction permet d'effectuer un branchement à un emplacement mémoire spécifié.
ECh IN AL,DX Cette instruction permet de lire un octet dans un port d'entrée/sortie à l'adresse spécifié par le registre DX et met le résultat dans le registre AL.
EDh IN AX,DX Cette instruction permet de lire un mot dans un port d'entrée/sortie à l'adresse spécifié par le registre DX et met le résultat dans le registre AX.
EEh OUT DX,AL Cette instruction permet de mettre un octet contenu dans le registre AL dans le port spécifié par le registre DX.
EFh OUT DX,AX Cette instruction permet de mettre un mot contenu dans le registre AX dans le port spécifié par le registre DX.
F0h 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.
F1h SMI Cette instruction permet de gérer les interruptions systèmes en mode de débogage.
F1h ICEBP Cette instruction permet de passer en mode d'instruction ICE (In-Circuit Emulator) si le bit 12 du registre DR7 vaut 1 sinon il exécute l'interruption 1.
F2h 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.
F2h 0Fh 2Ah /r CVTSI2SD xmm, r/m32 Cette instruction permet de convertir un entier de format double mot en une valeur réel de double précision.
F2h 0Fh 2Ch /r CVTTSD2SI r32, xmm/m64 Cette instruction permet de convertir une valeur réel de double précision avec en un entier de format double mot tronquer.
F2h 0Fh 2Dh /r CVTSD2SI r32, xmm/m64 Cette instruction permet d'effectuer la conversion d'une valeur réel de simple précision en valeur entier de double mots.
F2h 0Fh 38h F0h /r CRC32 r32, r/m8 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.
F2h 0Fh 38h F1h /r CRC32 r32, r/m16 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.
F2h 0Fh 58h /r ADDSD xmm1, xmm2/m128 Cette instruction permet d'effectuer une addition de la partie basse d'une valeur réel de double 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 double précision.
F2h 0Fh 5Ah /r CVTSD2SS xmm1, xmm2/m64 Cette instruction permet d'effectuer la conversion d'une valeur réel de double précision en valeur réel de simple précision.
F2h 0Fh 5Eh /r DIVSD xmm1, xmm2/m64 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.
F2h 0Fh C2h /r ib CMPSD xmm1,xmm2/m64, imm8 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.
F2h 0Fh D0h /r ADDSUBPS xmm1, xmm2/m128 Cette instruction permet d'effectuer une soustraction de la partie basse d'un paquet de 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 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 une opérande de destination de valeur réel de simple précision.
F2h 0Fh E6h CVTPD2DQ xmm1, xmm2/m128 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.
F3h 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.
F3h 0Fh 2Ah /r CVTSI2SS xmm,r/m32 Cette instruction permet de convertir un entier de format double mot en une valeur réel de simple précision.
F3h 0Fh 2Ch /r CVTTSS2SI r32,xmm/m32 Cette instruction permet de convertir un entier de format double mot avec tronquage en une valeur réel de simple précision.
F3h 0Fh 2Dh /r CVTSS2SI r32,xmm/m32 Cette instruction permet de convertir une valeur réel de simple précision en un entier de format double mot.
F3h 0Fh 58h /r ADDSS xmm1, xmm2/m32 Cette instruction permet d'ajouter la partie basse d'une valeur réel de simple précision de xmm2/m32 to xmm1.
F3h 0Fh 5Ah /r CVTSS2SD xmm1, xmm2/m32 Cette instruction permet de convertir une valeur réel de simple précision en une valeur réel de double précision.
F3h 0Fh 5Bh /r CVTTPS2DQ xmm1, xmm2/m128 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.
F3h 0Fh 5Eh /r DIVSS xmm1,xmm2/m128 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.
F3h 0Fh B8h /r POPCNT reg16, reg/mem16 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.
F3h 0Fh C2h /r imm8 CMPSS xmm1,xmm2/m128,imm8 Cette instruction permet d'effectuer une comparaison de la partie basse de valeurs réels de simple précision d'une opérande source et d'une opérande destination et entrepose le résultat de la comparaison dans l'opérande de destination.
F3h 0Fh E6h CVTDQ2PD xmm1, xmm2/m64 Cette instruction permet d'effectuer la conversion d'un paquet de double mot entier en valeurs réel de double précision.
F3h 90h 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».
F4h 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.
F5h 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.
F6h /6 DIV reg/mem8 Division naturel de AX par le contenu d'un emplacement mémoire ou registre 8 bits et entrepose le quotient dans AL et restant dans AH.
F7h /6 DIV reg/mem16 Division naturel de DX:AX par le contenu d'un emplacement mémoire ou registre 16 bits et entrepose le quotient dans AX et restant dans DX.
F8h CLC Cette instruction permet de mettre l'indicateur d'état de retenu CF à 0.
F9h STC Cette instruction permet de fixer l'indicateur de retenue (CF) à la valeur 1.
FAh CLI Cette instruction met l'indicateur d'état IF à 0, soit l'interdiction des interruptions.
FBh STI Cette instruction permet de fixer l'indicateur d'interruption (IF) à la valeur 1.
FCh CLD Cette instruction met l'indicateur d'état DF à 0, soit la direction croissante.
FDh STD Cette instruction permet de fixer l'indicateur de direction (DF) à la valeur 1.
FEh /1 DEC reg/mem8 Décrémente de 1 le contenu d'un emplacement de registre ou mémoire 8 bits
FFh /1 DEC reg/mem16 Décrémente de 1 le contenu d'un emplacement de registre ou mémoire 16 bits
FFh /2 CALL reg/mem16 Appel court avec une destination spécifié par un registre/mémoire 16 bits
FFh /3 CALL FAR mem16:16 Appel long indirect, avec un destination spécifié par un pointeur long en mémoire.
... ... ...

Références

Assembleur - Référence, Edition Micro Application, Pierre Maurette, 2003, ISBN: 2-7429-3061-2.
The Undocumented PC: A programmer's Guide to I/O, CPUs, and Fixed Memory Areas - Second Edition, Edition Addison-Wesley, Frank van Gilluwe, 1997, ISBN: 0-201-47950-8.

Dernière mise à jour : Vendredi, le 22 décembre 2017