Vous êtes sur la page 1sur 2

16/11/2019 Architecture des Ordinateurs - Activité 4 : Manipulation des données avec DEBUG

contenu
menu
navigation
pied de page

Architecture des Ordinateurs


A. Objectifs
B. Introduction
C. Partie 1 : Systèmes de numération et Codage
D. Partie 2 : Architecture interne de l'ordinateur
E. Partie 3 : Programmation assembleur 80X86
F. Partie 4 : Travaux pratiques
1. TP 1
a. Introduction
b. Activité 1 : Entrée et Sortie de DEBUG
c. Activité 2 : Examiner et changer les contenus de registres
d. Activité 3 : Coder et Exécuter les programmes avec DEBUG
e. Activité 4 : Manipulation des données avec DEBUG
f. Activité 5 : La convention « Little Endian » et comment le μP80x86 sauvegarde les mots
g. Activité 6 : Examiner et changer le registre FLAGS avec DEBUG
h. Activité 7 : Compléments
2. TP 2
3. TP 3

Activité 4 : Manipulation des données avec


DEBUG

Pour manipuler des données avec DEBUG, trois commandes sont essentiellement
utilisées : F, D, et E. Ces commandes et les options associées, décrites au tableau vu en
introduction, sont définies comme suit :
• F, commande de remplissage, est utilisée pour charger un bloc de mémoire avec une
donnée particulière.
• D, commande d'affichage des données, permet d'afficher le contenu de la mémoire à
l'écran.
• E, commande d'entrée, permet d'examiner et de changer le contenu de la mémoire.
- A l'invite du DEBUG, taper une à la fois les commandes ‘F 100 11F CD' et ‘F 120 13F
FB'. Ensuite taper ‘D 100 13F'. Décrire ce qui est observé.
Avec les commandes ‘F' précédentes, le chargement de la mémoire, par une donnée, se
fait dans le segment de données (DS) par défaut. Taper ‘F CS:100 10F CD' pour altérer
un contenu de la mémoire dans le segment de code et observer le résultat avec ‘D CS:100
10F'.

amaest-gi.000webhostapp.com/architecture/co/Architecture_Ordis_60.html 1/2
16/11/2019 Architecture des Ordinateurs - Activité 4 : Manipulation des données avec DEBUG

- En reprenant le programme précédent (activité 3) , utiliser la commande ‘D CS:100


11F' pour voir son code machine dans le segment de code de la mémoire.
- Comme application, à l'invite du DEBUG, taper votre nom et prénom en minuscules en
utilisant la commande « E 100 ‘ votre nom prénom ' ». Avec ‘D 100 10F', vérifier le
code ASCII de votre nom et prénom en minuscules.
Cela suppose que votre nom et prénom tiennent sur 16 caractères sinon changer la fin
d'adresse ‘10F' en plus grand : par exemple ‘115'.
Noter qu'avec ‘D 100 10F', l'affichage sur écran donne sur la même ligne aussi bien le
code ASCII que les lettres de votre nom et prénom.
- Avec ‘E 100' le contenu des adresses à partir de d'offset 100 peut être changé un octet à
la fois en tapant sur la barre espace.
Par exemple, après les points qui suivent les octets à changer, remplacer les digits
(chiffres) 6 par les digits 4 de chaque octet. Observer le résultat avec ‘D 100 LF' et
commenter.

Remarque

Noter que le fait de taper ‘-‘ après le ‘.', fait revenir en arrière vers l'octet
précédent.

- A l‘invite du DEBUG, taper ‘A' 100, et après chaque entrée du clavier, les instructions
suivante (une ligne à la fois) :
MOV BL, 0
ADD BL, [0500]
ADD BL, [0501]
ADD BL, [0502]
ADD BL, [0503]
ADD BL, [0504]
MOV[0505], BL
INT 3
Rentrer les données à additionner dans les cases mémoires [0500] --> [0504] en
utilisant ‘E DS : 500 3a 3b 3c 3d 3e'. Apres avoir exécuter le programme avec ‘G=100
11A', vérifier les contenus de [0500] --> [0505] et par conséquent le résultat de
l'addition, avec ‘D DS:500 L5'.

amaest-gi.000webhostapp.com/architecture/co/Architecture_Ordis_60.html 2/2