grimoire assembleur 8086

Telechargé par malekinfos
1
Grimoire Assembleur 80x86
Première Edition
Avril 2010
Par
Sylvain Maltais
Numéro de publication : 00001
2
Ce document ne peut être vendu sans le consentement de lauteur, cependant, il est libre de diffusion et il peut
être copié sur nimporte quel support de données du moment que le nom de lauteur nest pas effacé ou
remplacé.
Tous les informations sont égalements disponible sur le site http://www.gladir.com/, lequel les informations
original.
De plus, les noms AMD, IBM, Cyrix, Intel et autres, sont des produits appartenant respectivements aux
compagnies mentionnés, et ils sont libres de modifiés sans préavis le fonctionnement de leur matériel.
3
Annexe A
Voici une table des instructions du langage de programmation assembleur de la famille
80x86 :
Instruction
Description
CPU/MPU
AAA
Cette instruction permet d'adapter le résultat obtenu par l'addition de 2 valeurs
en format DCB.
INTEL 8088+
AAD
Cette instruction permet de convertir une valeur de format DCB non
compactée.
INTEL 8088+
AAM
Cette instruction offre la possibilité de convertir le produit de la
multiplication de 2 valeurs de format DCB en un format DCB.
INTEL 8088+
AAS
Cette instruction permet d'adapter le résultat de la soustraction de nombre de
format DCB.
INTEL 8088+
ADC
Cette instruction additionne 2 quantités numériques sur 8 ou 16 bits et ajoute
ensuite la valeur de l'indicateur de retenue, lequel est contenu dans le drapeau
CF (CARRY FLAG), à la somme obtenu.
INTEL 8088+
ADD
Cette instruction additionne 2 quantités numériques sur 8 ou 16 bits.
INTEL 8088+
ADDPD
Cette instruction permet d'effectuer une addition de 2 paquets de valeurs réels
de double précision d’un opérande source et d’un opérande destination et
entrepose le résultat dans l'opérande de destination sous le format d'un paquet
de valeurs réels de double précision.
INTEL Pentium 4+
ADDPS
Cette instruction permet d'effectuer une addition SIMD de 4 paquets de
valeurs réels de simple précision d’un opérande source et d’un opérande
destination et entrepose le résultat dans l'opérande de destination sous le
format d'un paquet de valeurs réels de simple précision.
INTEL Pentium III (SSE)+
ADDSD
Cette instruction permet d'effectuer une addition de la partie basse d'une
valeur réel de double précision dun opérande source et destination et
entrepose le résultat dans un opérande de destination de valeur réel de double
précision.
INTEL Pentium 4+
ADDSS
Cette instruction permet d'effectuer une addition de la partie basse d'une
valeur réel de simple pcision d’un opérande source et destination et
entrepose le résultat dans un opérande de destination de valeur réel de simple
précision.
INTEL Pentium III (SSE)+
ADDSUBPD
Cette instruction permet d'effectuer une soustraction de la partie basse d'une
valeur réel de double précision dun opérande source et destination et
entrepose le résultat dans un opérande de destination de valeur réel de double
précision et d'effectuer une addition de la partie haute d'une valeur réel de
double précision d’un opérande source et destination et entrepose le sultat
dans un opérande de destination de valeur réel de double précision.
INTEL Pentium 4 (SSE3)+
ADDSUBPS
Cette instruction permet d'effectuer une soustraction de la partie basse d'un
paquet de valeur réel de simple précision d’un opérande source et destination
et entrepose le résultat dans un opérande de destination de valeur réel de
simple précision et d'effectuer une addition de la partie haute d'un paquet de
valeur réel de simple pcision d’un opérande source et destination et
entrepose le résultat dans un opérande de destination de valeur réel de simple
précision.
INTEL Pentium 4 (SSE3)+
AND
Cette instruction permet d'effectuer un ET BINAIRE sur les 2 opérandes
spécifiés.
INTEL 8088+
ANDNPD
Cette instruction permet d'effectuer un ET BINAIRE sur les 2 paquets
d'opérandes de valeur de format réel de double précision et inverse chacun
des bits du résultat.
INTEL Pentium 4+
ANDNPS
Cette instruction permet d'effectuer un ET BINAIRE sur les 2 opérandes 128
bits spécifiés et inverse chacun des bits du résultat.
INTEL Pentium III (SSE)+
ANDPD
Cette instruction permet d'effectuer un ET BINAIRE sur les 2 paquets
INTEL Pentium 4+
4
d'opérandes de valeur de format réel de double précision.
ANDPS
Cette instruction permet d'effectuer un ET BINAIRE sur les 2 opérandes 128
bits spécifiés.
INTEL Pentium III (SSE)+
ARPL
Cette instruction permet de contrôler et corriger le niveau de privilège du
segment de code en mode protégée.
INTEL 80286+
BOUND
Cette instruction permet de vérifier la validité pouvant exister entre avec un
tableau et son indexation.
INTEL 80186+
BSF
Cette instruction permet d'effectuer une comparaison binaire de la droite vers
la gauche.
INTEL 80386+
BSR
Cette instruction permet d'effectuer une comparaison binaire de la gauche
vers la droite.
INTEL 80386+
BSWAP
Cette instruction permet d'inverse l'ordre des 4 octets d'un registre de taille de
32 bits.
INTEL 80486+
BT
Cette instruction permet de transférer une Opérande vers l'indicateur de
retenue.
INTEL 80386+
BTC
Cette instruction transfère une Opérande vers l'indicateur de retenue le bit
spécifié et inverser la valeur du bit correspondant.
INTEL 80386+
BTR
Cette instruction permet de transférer l'Opérande vers l'indicateur de retenue
le bit spécifié puis met le bit correspondant de l'Opérande à 0.
INTEL 80386+
BTS
Cette instruction permet de transférer une Opérande vers l'indicateur de
retenue le bit spécifié puis ensuite met le bit correspondant dans Opérande à
1.
INTEL 80386+
CALL
Cette instruction force le microprocesseur à exécuter les instructions du sous-
programme indiqué par l'adresse d'appel avant de continuer.
INTEL 8088+
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.
INTEL 8088+
CDQ
Cette instruction permet de convertir le double mot en un quadruple mot, le
résultat tient sur une taille de 64 bits.
INTEL 80386+
CDQE
Cette instruction permet de convertir le double mot du registre EAX en un
quadruple mot RAX, le résultat tient sur une taille de 64 bits.
x86-64+
CLC
Cette instruction permet de mettre l'indicateur d'état de retenu CF à 0.
INTEL 8088+
CLD
Cette instruction met l'indicateur d'état DF à 0.
INTEL 8088+
CLFLUSH
Cette instruction permet de vider la ligne de cache d'une adresse linéaire.
INTEL Pentium 4 (SSE2)+
CLGI
Cette instruction permet d'effacer le drapeau global d'interruption (GIF).
Quand le GIF est à 0, toutes les interruptions externes sont désactivées.
AMD-V
CLI
Cette instruction met l'indicateur d'état IF à 0.
INTEL 8088+
CLTS
Cette instruction permet de mettre à 0 le drapeau de l'indicateur de tâche
(Task-Switch) du registre CR0.
INTEL 80286+
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.
INTEL 8088+
CMOV
Cette instruction copie des données d'une source (valeur) à une destination
(registre) à la condition que la condition demandée soit remplie.
INTEL Pentium Pro+
CMP
Cette instruction offre la possibilité essentielle de comparer 2 registres ou
emplacements de mémoire.
INTEL 8088+
CMPPS
Cette instruction permet d'effectuer une comparaison SIMD de 4 paquets de
valeurs réels de simple précision d’un opérande source et d’un opérande
destination et entrepose le résultat de la comparaison dans l'opérande de
destination.
INTEL Pentium III (SSE)+
5
CMPS
Cette instruction permet d'effectuer la comparaison d'un octet, d'un mot ou
double mot spécifié avec l'opérande source et destination spécifié et fixe l'état
des drapeaux du registres EFLAGS en fonction des résultats de la
comparaison.
INTEL 8088+
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.
INTEL 8086+
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.
INTEL 80386+
CMPSQ
Cette instruction permet d'effectuer la comparaison d'un quadruple mot avec
l'opérande source (DS:(R)SI) et destination (ES:(R)DI) et fixe l'état des
drapeaux du registres EFLAGS en fonction des résultats de la comparaison.
x86-64+
CMPSS
Cette instruction permet d'effectuer une comparaison de la partie basse de
valeurs réelles de simple précision d’un opérande source et d’un opérande
destination et entrepose le résultat de la comparaison dans l'opérande de
destination.
INTEL Pentium III (SSE)+
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.
INTEL 8086+
CMPXCHG
Cette instruction compare la destination avec l'accumulateur (AL, AX ou EAX)
et les échanges si la condition est vraie.
INTEL Pentium+
CMPXCHG8B
Cette instruction compare un nombre de 64 bits et les échanges si la condition
est vraie.
INTEL Pentium+
CMPXCHG16B
Cette instruction permet de comparer un nombre de 128 bits et les échanges si
la condition est vraie.
INTEL x86-64+
COMISD
Cette instruction permet de comparer deux valeurs réel de double-précision
dans la partie faible du quadruple mot de deux opérande et fixe les drapeaux
de ZF, PF et FC du registre EFLAGS en fonction du résultat (non-ordonnée,
supérieur à, inférieur ou égal).
INTEL Pentium III+
COMISS
Cette instruction permet de comparer deux valeurs réel de simple-précision
dans la partie faible du quadruple mot de deux opérande et fixe les drapeaux
de ZF, PF et FC du registre EFLAGS en fonction du résultat (non-ordonnée,
supérieur à, inférieur ou égal).
INTEL Pentium III+
CPUID
Cette instruction retourne le code d'identification du microprocesseur.
INTEL Pentium+
CQO
Cette instruction permet de convertir le quadruple mot du registre EAX en
deux quadruples mots RDX:RAX, le résultat tient sur une taille de 128 bits.
x86-64+
CVTDQ2PD
Cette instruction permet d'effectuer la conversion d'un paquet de double mot
entier en valeurs réel de double précision.
INTEL Pentium 4+
CVTDQ2PS
Cette instruction permet d'effectuer la conversion d'un paquet de double mot
entier en valeurs réel de simple précision.
INTEL Pentium 4+
CVTPD2DQ
Cette instruction permet d'effectuer la conversion d'un paquet de valeurs réel
de double précision en double mot entier et fixe à 0 le reste du paquet.
INTEL Pentium 4+
CVTPD2PI
Cette instruction permet d'effectuer la conversion d'un paquet de valeurs réel
de double précision en double mot entier.
INTEL Pentium 4+
CVTPD2PS
Cette instruction permet d'effectuer la conversion d'un paquet de valeurs réel
de double précision en valeurs réel de simple précision et fixe à 0 le reste du
paquet.
INTEL Pentium 4+
CVTPI2PD
Cette instruction permet d'effectuer la conversion d'un paquet de double mot
entier en valeurs réel de double précision compacté.
INTEL Pentium 4+
CVTPI2PS
Cette instruction permet de convertir un entier de format double mot en une
valeur réel de simple précision compacté.
Pentium III (KNI/MMX2)+
CVTPS2DQ
Cette instruction permet d'effectuer la conversion d'un paquet de valeurs réel
INTEL Pentium 4+
1 / 1558 100%

grimoire assembleur 8086

Telechargé par malekinfos
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !