Informatique Industrielle : TP1 : Premiers pas en Assembleur 8086
Télécharger PDFObtenir le pack complet des cours, TDs, TPs et projets sur Informatique Industrielle : Microprocesseur & Microcontrôleur!
Vous souhaitez maîtriser les microprocesseurs et Microcontrôleurs ? Ne cherchez plus, nous avons le pack parfait pour vous.
Accédez à une collection complète des supports de cours, des travaux dirigés (TD) corrigés, des travaux pratiques (TP) et des projets.
Obtenir le pack maintenantAnnée Universitaire : 2017 / 2018
Spécialité : 3eme Licence Automatique Département : électronique et télécommunications
Module : Microprocesseurs et microcontrôleurs
Elearn : TP Microprocesseur et Microcontrôleurs – N.NASRI
Chargé du TP : ... TP1 : Premiers pas en Assembleur 8086 ... Nom / Prénom : 1) Groupe : 2) Objectifs : Se familiariser avec le logiciel Emu8086. Débuter avec le langage Assembleur. Matériel utilisé : Un PC. I – Préparation théorique : I-1 / Quelle est la valeur de chacune des données suivantes ? TP DW 8086 TP = TP DB 5 dup (“Assembleur 8086”) TP = Nombre DD ? Nombre = Matrice DW 12, 54, 30 Matrice = Chaine DB ‘Ceci est un message’ Chaine = Cinq
EQU 5*6 Cinq = Six
EQU Cinq*2 – Cinq Six = Douze EQU Cinq + Six Douze = Matrice DW 7 DUP ( ?) Matrice = Matrice DB 5 DUP (0, 1) Matrice = I-2 / Soit le programme suivant : a- Quelles sont les différentes parties de ce programme ? - ........................................... - ........................................... - ........................................... - ........................................... b- Quelle est le rôle de la première partie ? ............................................................................................................. ............................................................................................................
............................................................................................................ Année Universitaire : 2017 / 2018
Spécialité : 3eme Licence Automatique Département : électronique et télécommunications
Module : Microprocesseurs et microcontrôleurs
Elearn : TP Microprocesseur et Microcontrôleurs – N.NASRI
Chargé du TP : ... c- Désigner dans la liste suivante les directives et les instructions : - Assume - Mov - début - encore : - Ends - dup -
dl -
jne -
inc -
dw -
ax -
cmp Directives Mnémoniques Autre II/ Premiers pas en programmation : Parmi les opérations de base qu’on réalise en programmation Assembleur 8086, le transfert de données. Ceci se fait grâce aux instructions : MOV. II – 1 / L’instruction MOV : L’instruction MOV (En anglais : move est la traduction de mot français déplacer). En assembleur, Cette instruction réalise un transfert d’une source vers une destination : MOV destination, source Les transferts possibles : Destination Source Registre Registre Registre Mémoire Mémoire Registre Registre Valeur immédiate Mémoire Valeur immédiate Exemple 1 : mov ax,bx : charge le contenu du registre bx dans le registre ax. Dans ce cas, le transfert se fait du registre bx (source) vers un autre registre ax (destination). Exemple 2 : mov bl, [1200H] : cette instruction réalise le transfert du contenu de la case mémoire (source) d’adresse effective (offset) 1200H vers le registre bl (destination). L’instruction comporte l’adresse de la case mémoire ou se trouve la donnée. Exemple 3 : mov [1200H], al : cette instruction réalise le transfert du contenu du registre al (source) vers la case mémoire (destination) d’adresse effective (offset) 1200H. L’instruction comporte l’adresse de la case mémoire ou la donnée va être transférer. Exemple 4 : mov al, 12H : charge le registre al (destination) avec la valeur immédiate (source) 12H. La donnée est fournie immédiatement avec l’instruction. Exemple 5 : mov [1200H], 12H : cette instruction réalise le transfert de la valeur immédiate (source) 12H vers la case mémoire (destination) d’adresse effective (offset) 1200H. L’instruction comporte l’adresse de la case mémoire ou la donnée va être transférer. II – 2 / Débuter avec Emu8086 : 1 – Ouvrir l’émulateur emu8086.
Année Universitaire : 2017 / 2018
Spécialité : 3eme Licence Automatique Département : électronique et télécommunications
Module : Microprocesseurs et microcontrôleurs
Elearn : TP Microprocesseur et Microcontrôleurs – N.NASRI
Chargé du TP : ... 2 – Choisir un nouveau document en cliquant sur New dans le menu affiché. 3 – En suite, cliquer sur empty workspace dans la liste affichée afin d’avoir un document vide. 4 – Saisir, alors, le code assembleur suivant : 5 - Emuler le code en cliquant sur emulate se trouvant sur la barre de taches principale. 6 - Deux fenêtres s’afficheront. Une fenêtre (Original souce code) contient le code qu’on vient d’écrire. Une seconde fenêtre (emulator) qui nous permettra d’exécuter le code, de voir les contenus des différents registres et beaucoup d’autres choses qu’on verra en fur et à mesure. 7 - exécuter le code ainsi écrit en cliquant sur run. 8 – Que remarquez-vous sur le contenu des différents registres ? ................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................ 9 - Maintenant, sur la fenêtre emulator, cliquer sur reload afin de
recharger le code (c.à.d : Le mettre à nouveau en mémoire pour le
ré-exécuter). Puis cliquer plusieurs fois sur single step et remarquer à chaque fois les changements dans les registres. MOV AL, 10H MOV AH, 09H HLT Année Universitaire : 2017 / 2018
Spécialité : 3eme Licence Automatique Département : électronique et télécommunications
Module : Microprocesseurs et microcontrôleurs
Elearn : TP Microprocesseur et Microcontrôleurs – N.NASRI
Chargé du TP : ... 10 - Donner les résultats dans le tableau suivant.
- *- 10 – quel est le rôle de single step ? ................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................
................................................................................................................ 11 – Enregistrer ce code sous le nom : monprog1.asm. II – 3 / Manipulation des registres et de la mémoire : 1 – Saisir, alors, le code assembleur suivant : 2 - Emuler le code en cliquant sur emulate se trouvant sur la barre de taches principale. 3 - exécuter le code ainsi écrit en cliquant sur run. 4– Que remarquez-vous sur le contenu des différents registres ? .........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
..........................................................................................................................
..........................................................................................................................
.......................................................................................................................... 5– Que remarquez-vous sur la mémoire ? .........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
..........................................................................................................................
..........................................................................................................................
..........................................................................................................................
.......................................................................................................................... mov ax, 05h mov [100h], ax HLT Année Universitaire : 2017 / 2018
Spécialité : 3eme Licence Automatique Département : électronique et télécommunications
Module : Microprocesseurs et microcontrôleurs
Elearn : TP Microprocesseur et Microcontrôleurs – N.NASRI
Chargé du TP : ... Indication: Après exécution, on aura la fenêtre suivante (fenêtre de l’émulateur), plusieurs informations sont présentes : sur les registres, la mémoire, sur le programme ...
Registresmémoire Programme
Adresse physique
HexadécimalDécimal Code ASCII - Remarquer qu’il existe plusieurs lignes de codes qui se termine par HLT, et l’adresse
correspondante est 0101A. Ceci est simplement dû au fait que le programme lui-même est stocké en mémoire. 6– Taper maintenant 100 dans la zone indiquant l’adresse mémoire et appuyer sur entrée du clavier. 7– Observer maintenant la case correspondant à 01001 et compléter le tableau . Valeur Signification 01100 05 005 (pour la dernière .. consulter l’annexe 1 : Code ASCII) Année Universitaire : 2017 / 2018
Spécialité : 3eme Licence Automatique Département : électronique et télécommunications
Module : Microprocesseurs et microcontrôleurs
Elearn : TP Microprocesseur et Microcontrôleurs – N.NASRI
Chargé du TP : ... 8 – Saisir, alors, le code assembleur suivant : 9 - Emuler le code en cliquant sur emulate se trouvant sur la barre de taches principale. 10 - exécuter le code ainsi écrit en cliquant sur run. 11- quelle est la différence entre l’utilisation de ax et ah ? .........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.......................................................................................................................... 12- Saisir, alors, le code assembleur suivant : 13 - Emuler le code en cliquant sur emulate se trouvant sur la barre de taches principale. 14 - exécuter le code ainsi écrit en cliquant sur run. 15 – Quelle est l’adresse indiquée, et la valeur décimale . 16- Saisir, alors, le code assembleur suivant : 17 - Emuler le code en cliquant sur emulate se trouvant sur la barre de taches principale. 18 - exécuter le code ainsi écrit en cliquant sur run. 19 – Quelle est l’adresse indiquée, et la valeur décimale 20 – Commentaire :
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
..........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
......................................................................................................................... 21- Saisir, alors, le code assembleur suivant et refaite le même travail. 22- Expliquer le résultat obtenu en complétant le tableau suivant : mov ah, 05h mov [100h], ah HLT mov ax, 55h mov [100h], ax HLT mov ax, 55 mov [100h], ax HLT mov al, 55h mov ah, 36 mov [100h], al mov [104h], ah HLT Année Universitaire : 2017 / 2018
Spécialité : 3eme Licence Automatique Département : électronique et télécommunications
Module : Microprocesseurs et microcontrôleurs
Elearn : TP Microprocesseur et Microcontrôleurs – N.NASRI
Chargé du TP : ... 23 – Commentaire :
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
..........................................................................................................................
.........................................................................................................................
.........................................................................................................................
......................................................................................................................... 24- Saisir, alors, le code assembleur suivant et refaite le même travail. 25- Expliquer le résultat obtenu en complétant les deux tableaux suivants : Registres modifiées Cases mémoires modifiées ....................... ...................... ....................... ....................... ..................... ....................... ...................... ....................... ....................... ..................... instruction Description 26- Saisir, alors, le code assembleur suivant et refaite le même travail. mov ax, 55h
mov [100h], ax mov bx, 100h mov cx, [bx] HLT mov [100h], 36h mov [104h], 52h mov [106h], 69h mov bx, 100h mov cx, [bx] mov dx, [bx+4]
mov ax, [bx]+6 HLT Année Universitaire : 2017 / 2018
Spécialité : 3eme Licence Automatique Département : électronique et télécommunications
Module : Microprocesseurs et microcontrôleurs
Elearn : TP Microprocesseur et Microcontrôleurs – N.NASRI
Chargé du TP : ... 27- Afficher les cases mémoires modifiées et compléter le tableau suivant : Registres modifiées Cases mémoires modifiées ....................... ...................... ....................... ....................... ..................... ....................... ...................... ....................... ....................... ..................... 28 – Commentaire :
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
..........................................................................................................................
......................................................................................................................... 29 – Décrire ce que fait chaque instruction. instruction Description 30 –Conclusion :
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................
