Informatique Industrielle : TP N° 2 Programmation en assembleur sous emu8086
Télécharger PDFTP N° 2 : Programmation en Assembleur 8086 avec Emu8086
1. Objectifs
Prise en main d’Emu8086.
Écriture d’un premier programme en assembleur 8086.
2. Présentation d’Emu8086
Pour faciliter l’apprentissage de l’assembleur x86, nous utilisons un émulateur logiciel simulant un processeur 8086. Bien que son utilisation ne soit pas obligatoire (les programmes fonctionnent sur des processeurs modernes comme l’Intel Core i7), cet outil offre un environnement avancé pour comprendre le fonctionnement des mécanismes du processeur.
Emu8086 se compose de deux modes principaux :
- Mode éditeur : un éditeur de texte classique avec colorisation syntaxique du code assembleur.
- Mode exécution : deux fenêtres s’ouvrent après compilation et exécution (bouton RUN).
Structure d’un programme en assembleur 8086
Un programme standard dans Emu8086 suit cette structure :
org 100h .DATA <Déclaration des variables> .CODE Instr1 Instr2 ... Instrn
Fonctionnalités de l’émulateur
La fenêtre « émulateur » contient quatre zones principales :
- Boutons de contrôle : permet d’exécuter le programme en mode pas à pas (single step), de le recharger (reload) ou de le lancer automatiquement (run) avec ajustement du délai entre chaque instruction.
- Visualisation des registres : affiche les valeurs hexadécimales des registres en temps réel pendant l’exécution du programme.
- Représentation de la mémoire : montre les octets mémoires (adresse en hexadécimal, valeur hexadécimale, décimale et ASCII).
- Code exécuté : affiche le code machine final sans étiquettes ni noms de variables, tel qu’il sera interprété par le processeur.
Exercice 1 : Calcul de la somme de deux variables
Voici un exemple de programme qui calcule la somme des deux variables a et b, puis enregistre le résultat dans c :
org 100h .DATA a dw 25 b dw 13 c dw ? .CODE mov ax, a add ax, b mov c, ax mov ax, 4ch int 21h
Exercice 2 : Programmes pour opérations arithmétiques
Écrire un programme en assembleur pour chaque opération demandée :
- Calcul de la somme de trois variables :
s = a + b + c - Multiplication de deux variables :
m = a * b - Division entière de deux variables :
d = a div b
FAQ
Pourquoi utiliser Emu8086 pour apprendre l’assembleur ?
Emu8086 simplifie la compréhension des mécanismes internes d’un processeur 8086 grâce à sa visualisation des registres et de la mémoire en temps réel.
Comment exécuter un programme dans Emu8086 ?
Appuyer sur le bouton RUN pour compiler et exécuter le programme. Deux fenêtres s’ouvrent alors pour afficher le code source et les résultats de l’exécution.
Que signifie dw dans une déclaration de variable ?
dw est l’abréviation de « define word » (définir un mot), indiquant que la variable occupe 2 octets en mémoire.