TP1

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 4

UNIVERSITE M’HAMED BOUGARA DE BOUMERDES Sous-Groupe: ...............

FACULTE DE TECHNOLOGIES
Noms des étudiants et signatures:
Département : Ingénierie des Systèmes Electriques
Master ME et ESE - S1 (2019/2020) 1) .....................................................
2) .....................................................
Module : TP Microprocesseurs et Microcontrôleurs
Note/10: .....................

TP 1 : Initiation à la Programmation Assembleur


Durée : 3 heures

1. Objectif
L'objectif de cette manipulation est d'apprendre à l'étudiant les notions de la programmation assembleur selon
les instructions du 8086.

2. Utilisation de la DosBox
Pour éditer, compiler et exécuter des programmes en langage assembleur sous Windows, on doit ajouter une
petite application "DosBox" à notre système, en suivant ces étapes :

2.1. Créer un répertoire "DosBox" dans le disque local "C:\" de votre ordinateur;
2.2. Installer l'application dans le répertoire "DosBox" comme suit: "C:\DosBox";

2.3. Copier "debug.exe" dans le répertoire "C:\DosBox";


2.4. Dans l'invité de commande "Z:\>" de la fenêtre du "DosBox", taper :
mount c c:\DosBox
(Un message sera affiché, ignorer le!).
2.5. Ou retour de l'invité "Z:\>", taper :
c:
2.6. A l'invité "c:\>", taper :
cls (pour effacer l'écran)
2.7. Puis taper :
debug

3. Commandes de DEBUG:
Une fois lancé, DEBUG nous donne un tiret d’invité nous permettant d’entrer les commandes de DEBUG tel
que :
- Les commandes ont toutes une lettre avec une suite de paramètres.
- Il n'y a pas de différences entre les majuscules et les minuscules.
- Toutes les valeurs numériques sont en hexadécimal.

1/4 Dr. K.DICHOU


Ci-dessous la syntaxe et la signification de certaines commandes nécessaires à cette manipulation :

3.1. A <adr> : La commande A (assemble) permet d’entrer ligne par ligne les instructions à assembler à
partir de l’adresse <adr>.
3.2. D <adr>: La commande D (dump) permet d’afficher les 128 octets qui commence à l’adresse <adr>.
3.3. E <adr><liste d’octets> : La commande E (enter) permet de mettre en mémoire une liste d’octet à
partir de l’adresse <adr>.
E sans la liste d’octets permet d’afficher un à un les anciens octets et d’entrer les nouveaux octets en
tapant l’octet suivi d’un espace. Un espace tout seul permet de garder l’ancien octet et de passer à
l’octet suivant.
3.4. P= <adr> <Nombre d'instructions> : La commande P (proceed) exécute l'ensemble d'instructions à
partir de l’adresse <adr>.
Pour exécuter les instructions une par une (pas à pas) on utilise la commande P= <adr> pour la 1ere
instruction et uniquement P pour les prochaines instructions.
3.5. R <reg> : La commande R (register) permet de modifier le contenu du registre <reg >.
Si aucun registre n’est spécifié, R affiche le contenu de tous les registres.
3.6. U <adr>: La commande U (unassemble) permet de désassembler 32 (20h) octets à partir de l'adresse
<adr>.
3.7. Q : La commande Q (quit) permet de terminer la session de DEBUG.

4. Travail à faire:
4.1. Édition de lignes de programmes
 Editez les lignes suivantes (sans les numéros de lignes) à l’adresse 100h du segment définit dans CS.

mov ax,A2B0 (1)


mov [FF00],Ax (2)
mov bl,1F (3)
add [FF00],bl (4)

 Donner l’adresse mémoire et la taille en octet et en bit de chaque instruction:

N° de l'instruction Adresse mémoire Taille en Octet Taille en Bit


Instruction N°1
Instruction N°2
Instruction N°3
Instruction N°4

4.2. Désassemblement de la mémoire


 Vérifier que le programme entré à la section précédente se trouve bien en mémoire à la bonne adresse:
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.........................................................................................................................................................

 Quelle est la taille en octets et en bits de ce programme ? Justifier votre réponse.


.....................................................................................................................................................................
.....................................................................................................................................................................
2/4 Dr. K.DICHOU
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................

4.3. Exécution des lignes du programme


 Avant d'exécuter le programme, vérifier que les registres généraux sont initialisés à 0000h.
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................

 Exécuter l'ensemble des instructions au même temps.


.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................

 Réinitialiser les registres généraux.


............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................

 Exécuter le programme entré précédemment instruction par instruction tout en observant l’évolution
des registres généraux: AX, BX, CX, DX, le pointeur d’instruction IP ainsi que le contenu de la case
mémoire [FF00].
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................

N° du pas [FF00] IP AX BX CX DX
Pas N°1
Pas N°2
Pas N°3
Pas N°4

 Expliquer l’évolution du pointeur l’instruction IP.


.....................................................................................................................................................................
.........................................................................................................................................................

 Indiquer la valeur du pointeur d’instruction IP en hexadécimal, Binaire et décimal à la fin de chaque


instruction.

N° du pas Valeur du pointeur Valeur du pointeur IP (Binaire) Valeur du pointeur


IP (Hexadécimal) IP (Décimal)
Pas N°1
Pas N°2
Pas N°3
Pas N°4

3/4 Dr. K.DICHOU


 Expliquer le fonctionnement de ce programme.
.....................................................................................................................................................................
.....................................................................................................................................................................

4.4. Affichage du contenu de la mémoire


 Afficher le contenu de la mémoire à partir de l’adresse 100.
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
4.5. Édition du code hexadécimal en mémoire
 Réinitialiser les registres généraux à 0000h et le contenu de la case mémoire [FF00] à A2h.
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
............................................................................................................................................................
.........................................................................................................................................................
 Exécuter le programme de nouveau et observer l’évolution des registres AX, BX, CX,DX, IP ainsi que
le contenu de la case mémoire [FF00].

N° du pas [FF00] IP AX BX CX DX
Pas N°1
Pas N°2
Pas N°3
Pas N°4

 Observations.
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.....................................................................................................................................................................
.........................................................................................................................................................

4/4 Dr. K.DICHOU

Vous aimerez peut-être aussi