Vous êtes sur la page 1sur 3

Ali.abdelli@fsm.rnu.

tn

TP: Microprocesseurs et Microcontrôleurs

Filière : ELEC2 Semestre : 1

Buts :
➢ Familiarisation avec l’EMU8086 et manipulation des différents registres du 8086.
➢ Conception et simulation de matériel à l'aide de Proteus: interfacer une LED à 7 segments
avec le microprocesseur 8086 via un 8255 Contrôleur de périphérique programmable
utilisant ISIS.

EXERCICE1:

1- Lancez l'environnement Emu8086 et appuyer NEW pour ouvrir un nouveau fichier « COM template »

a) Saisissez les instructions suivantes et sauvegardez le sous Tp1Exo1.asm

MOV DH, 0F3


MOV DH, 0FF3h
MOV DH, F3h
MOV BX, 9A0100
MOV CS, 1200
MOV SI, CL
MOV AX, DL
MOV DX, [AX]

b) Dans la fenêtre emu8086\Mysource\ Appuyer sur “Emulate et corriger au fur et à mesure les
erreurs qui ont ete glissées dasn chaque instruction.
2- Une fois toutes erreurs corrigées, familiarisez vous avec les Deux nouvelles fenêtres qui viennent de
s’ouvrir ; il s’agit du mode exécution de l’émulateur :

1
Ali.abdelli@fsm.rnu.tn

F enêtre Emulateur Fénêtre Code Source

Zone registre Zone Mémoire Zone code désassemblé

- La fenêtre « original source code » contient le code tel que vous l’avez écrit. La ligne
surlignée en jaune est la prochaine instruction qui va être exécutée. il est possible d’interagir avec ce
code en cliquant dessus.
- La fenêtre « emulator : » contient 3 zones : la zone des registres , la zone mémoire octet
par octet. Sur une ligne, on retrouve l’adresse mémoire sur 20 bits, la valeur de l’octet en
hexadécimale, en décimale et sa représentation en ASCII,La zone du code désassemblé, qui n’ a plus
aucune étiquette ni nom de variable. Il s’agit du code réellement exécuté

3- Appuyer alors sur « Single step » pour executer les codes pas a pas . Noter dans la zone registres
la valeur de CS et IP à chaque pas ainsi que le contenu des différents registres. Retrouver les valeurs
de CS et IP dans la zone mémoire

4- Appuyer sur Reload pour recharger le programme et en exécutant le programme pas à pas à
nouveau , donner le nombre d’octets de chacune des instructions a partir de la zone mèmoire.

EXERCICE2
Ouvrir un nouveau fichier de type « COM template » et saisir le code suivant :

ORG 100h
MOV AL,80h
MOV BL, 81h
ADD AL,BL
a) Enregistrer ce programme sous tp1exo2.asm, puis émuler
b) Exécuter le programme pas à pas et vérifier le contenu des registre et zone mémoire a cahque pas
c) Appuyer sur Flags pour voir les bits d’état à chaque pas

2
Ali.abdelli@fsm.rnu.tn

d) Interpréter les flags dans le cas de nombre signés et non signés


e) Refaire de même (a->d ) avec le programme suivant :

ORG 100h
MOV AL,F0h
MOV BL, 81h
SUB AL,BL

EXERCICE3
Soit le bloc diagramme suivant:

Figure1: Principe d'interfaçage.

Écrire un algorithme assembleur qui donne le bon fonctionnement d'un compteur de 0 à 9 à base
microprocesseur 8086 intel en utilisant le logiciel de simulation Proteus (ISIS).

Vous aimerez peut-être aussi