0% ont trouvé ce document utile (0 vote)
25 vues10 pages

8086 Instructions

Le document présente une introduction au langage assembleur 8086, en détaillant les instructions de base telles que MOV, ADD, SUB, MUL, DIV, ainsi que la gestion de la pile avec PUSH et POP. Il explique également les comparaisons avec CMP et les sauts conditionnels avec JG et JL. Enfin, il aborde l'utilisation de l'instruction TEST et le concept de Zero Flag (ZF).

Transféré par

jgqn8q8cfx
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
25 vues10 pages

8086 Instructions

Le document présente une introduction au langage assembleur 8086, en détaillant les instructions de base telles que MOV, ADD, SUB, MUL, DIV, ainsi que la gestion de la pile avec PUSH et POP. Il explique également les comparaisons avec CMP et les sauts conditionnels avec JG et JL. Enfin, il aborde l'utilisation de l'instruction TEST et le concept de Zero Flag (ZF).

Transféré par

jgqn8q8cfx
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Introduction au langage assembleur

8086
Objectifs
- Comprendre les instructions de base du
processeur 8086.
- Apprendre à utiliser des instructions
fondamentales avec des exemples simples.
- Explorer les concepts clés tels que le transfert, les
calculs arithmétiques, les comparaisons et les sauts
conditionnels.
MOV : Transfert de données
• Syntaxe : MOV destination, source

• Description : Copie la valeur de 'source' vers


'destination'.
Exemple :
• MOV AX, 5 ; AX = 5
• MOV BX, AX ; BX = 5
ADD : Addition
• Syntaxe : ADD destination, source

• Description : Ajoute la valeur de 'source' à


'destination'.
Exemple :
• MOV AX, 3 ; AX = 3
• ADD AX, 4 ; AX = 7
SUB : Soustraction
• Syntaxe : SUB destination, source

• Description : Soustrait la valeur de 'source' de


'destination'.
Exemple :
• MOV AX, 9 ; AX = 9
• SUB AX, 2 ; AX = 7
MUL : Multiplication
• Syntaxe : MUL source

• Description : Multiplie 'AX' par 'source'. Le


résultat est stocké dans 'AX'.
Exemple :
• MOV AX, 3 ; AX = 3
• MOV BL, 2 ; BL = 2
• MUL BL ; AX = 6 (3 * 2)
DIV : Division
• Syntaxe : DIV source

• Description : Divise 'AX' par 'source'. Le quotient


est stocké dans 'AL' et le reste dans 'AH'.
Exemple :
• MOV AX, 8 ; AX = 8
• MOV BL, 2 ; BL = 2
• DIV BL ; AL = 4 (quotient), AH = 0 (reste)
PUSH et POP : Gestion de la pile
• PUSH : Place une valeur dans la pile.

• POP : Récupère une valeur de la pile.

Exemples :
• MOV AX, 5 ; AX = 5
• PUSH AX ; Empile AX
• MOV AX, 0 ; AX = 0
• POP AX ; AX = 5
CMP : Comparaison
• Syntaxe : CMP operand1, operand2

• Description : Compare 'operand1' à 'operand2'


en effectuant une soustraction (sans modifier les
opérands).
Exemple :
• MOV AX, 5 ; AX = 5
• CMP AX, 3 ; Compare AX avec 3
JG, JL : Sauts conditionnels
• Syntaxe :
• JG label ; Jump if Greater
• JL label ; Jump if Lesser

Exemple :
• MOV AX, 5 ; AX = 5
• CMP AX, 3 ; Compare AX avec 3
• JG greater ; Saut si AX > 3

• greater:
• ; Code si AX > 3
TEST et ZF (Zero Flag)
• Syntaxe : TEST operand1, operand2

• Description : Effectue un ET logique entre les opérands


et met à jour les indicateurs (ZF, etc.).
• Exemple :
• MOV AX, 1 ; AX = 1
• TEST AX, AX ; ZF = 0 car AX != 0

• Zero Flag (ZF) :


• ZF = 1 : Le résultat est zéro.
• ZF = 0 : Le résultat est non nul.

Vous aimerez peut-être aussi