Académique Documents
Professionnel Documents
Culture Documents
Exemple :
daniel.dupont.22@eigsinet
Puis fournir votre mot de passe habituel.
Préparation du TP:
Copier le répertoire U:\ArchiOrdi\TP1ARCHI sur votre volume local (H:)
Renommer le document TP1_DOCUMENT_REPONSE.docx présent dans ce répertoire avec votre nom. Vous
rédigerez le compte-rendu du TP avec ce document.
Pour les réponses visibles uniquement sur l’écran de l’ordinateur, faire une capture d’écran (voir annexe 1) et
insérer les images dans votre document.
A la fin du TP, copier localement répertoire TP1ARCHI puis renommer avec les noms du binôme
et copier celui-ci dans le répertoire U:\ArchiOrdi\ComptesRendu\Groupe.
NE PAS IMPRIMER LA COPIE.
Copier ensuite votre répertoire source au même emplacement.
Logiciels utilisé durant le TP:
Les logiciels utilisés dans ce TP sont l'éditeur NotePad++ Crimsom Editor, l'assembleur TASM, l'éditeur de liens
TLINK et le moniteur de mise au point TD. Cette dernière commande s'exécute dans un environnement 16 bits
exécuté par le mode X86 virtuel du processeur équipant la machine. Les programmes sont écrits suivant le modèle
mémoire TINY dans lequel tous les registres de segments sont initialisés à la même valeur par le chargeur du système
d'exploitation.
Les instructions utilisées dans les programmes sont données à l’annexe 2. Commencer par lire cette annexe.
Si les extensions des fichiers ne sont pas visible, les rendre visible (Panneau de configurationOption des
DossiersAffichage et décocher Masquer les extensions...).
Exercice préliminaire
a) Répertoire SOURCES. Ouvrir une fenêtre de commande dans le répertoire SOURCES (sélectionner le répertoire,
touche et clic droit Ouvrir une fenêtre de commande ici). Assembler le programme modèle par la commande
asm modele (faire contrôle C à la fin de la commande TLINK (Turbo Link) pour ne pas lancer le moniteur de
mise au point TD.exe). La procédure génère les fichiers :
Programme exécutable (taille maxi 64Ki) généré par la commande TLink
Cartographie du code et des données (éditable)
Liste du programme après assemblage (éditable)
Code binaire machine généré par l'assembleur
Exercice 1
a) Répertoire SOURCES. Programme (E1.asm ou e1.asm) en langage assembleur
Que fait ce programme ?
b) Ouvrir une fenêtre de commande dans le répertoire SOURCES (sélectionner le répertoire, touche et clic droit
Ouvrir une fenêtre de commande ici). Assembler le programme par la commande asm E1 (faire contrôle C à la
fin de l'assemblage pour ne pas faire l'édition des liens)
c) Editer le fichier e1.lst et e1.map
1. Quelle est la taille totale des données
2. Quelle est la taille totale du code
3. Quelle sont les données relocalisées et pourquoi
4. Call DoIt est un appel au sous-programme d'emplacement DoIt. Donner le code de cette instruction.
Les deux derniers octets de l'instruction précise l'adresse de branchement à DoIt.
Quel type de branchement est effectué (absolu ou relatif , justifier.).
d) Tester le programme avec la commande dbg e1
1. Donner l'adresse mémoire absolue du programme (adresse de départ dans le segment = 0).
2. Donner l'adresse mémoire absolue du sommet de pile (contenu initial charge dans SP)
3. Exécuter le programme mode pas à pas (F7) et observer la valeur des registres et des indicateurs.
Exercice 2 : e2.asm
a) Sauvegarder E1.asm sous E2.asm.
b) Modifier la valeur 4567H de façon à provoquer une retenue (prendre la valeur minimale).
c) Assembler (asm e2) puis exécuter (dbg e2) le programme en mode trace pour vérifier votre calcul. Faire une copie
d'écran.
Exercice 3 : e3.asm
Soit le programme assembleur suivant (nota toutes les données sont en base hexadécimale).
Ce programme initialise la zone mémoire constitué d’un tableau de données 16bits situé à partir de
l’adresse 2000H avec l’entier 16 bits 1.
Nota [valeur] ou [registre] indique contenu mémoire pointé (indiqué)
par valeur ou registre.
a) Que fait l’instruction située à l’adresse 0C94:106. Nota : le terme WORD PTR signifie que la donnée transférée à
l’adresse indiquée par [BX] doit être considéré comme un mot de 16bits (BYTE PTR indique un mot pointé de 8
bits). Pour quelle raison faut-il préciser WORD PTR dans cette instruction ?
b) Pour l’instruction située à l’adresse 0C94:10A, justifier le fait que l’on ajoute 2 à BX (au lieu de simplement
incrémenter (ajouter 1 à) BX).
c) Donner la taille en octets de la zone mémoire initialisée.
Daniel Tschirhart - TP Architecture des ordinateurs 2/4
Architecture des ordinateurs
d) Ecrire un programme E3.asm initialisant la zone mémoire .DATA? sur une longueur de 31 octets.
Déclaration : ZONE DB 31 DUP (?)
e) Assembler puis charger le en mémoire (asm e3 puis dbg e3).
Mettre un point d'arrêt après l'appel de DoIt (Breakpoint Toggle ou Breakpoint At) puis lancer le programme avec
la commande GO (F9). Faire une copie d'écran de la zone initialisée et la joindre dans votre rapport.
Exercice 4 : E4.asm
Enregistrer E3.asm sous E4.asm. Modifier le programme pour qu'il initialise 64 mots de 16 bits avec la valeur 1, puis
additionner les 64 mots de 16 bits adjacents et mémoriser la somme dans la variable 16 bits SOMME située après la
zone initialisée.
Assembler puis charger le en mémoire (asm e4 puis test e4).
Mettre un point d'arrêt après l'appel de DoIt (Breakpoint Toggle ou Breakpoint At) puis lancer le programme avec la
command GO (F9). Faire une copie d'écran de la zone initialisée et du résultat et la joindre dans votre rapport.
oui
Saut inconditionnel [BX] > ‘Z’
JMP adresse
non
Saut conditionnel avec cond = Z, L, G voir page suivante
Jcond adresse [BX] = [BX] + 20H
Modes d'adressage
Adressage registre
reg1 reg2.
Exemples: Mov AX, BX ; AX BX
Add AX, DX ; AX AX + DX
And AX, CX ; AX AX & BX
Adressage immédiat
reg1, constante : reg1 constante.
Exemple: Mov CX, 40 ; CX 6410
Ces modes d’adressages s’adressent aux instructions de déplacement, aux opérations logiques et arithmétiques.