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