100% ont trouvé ce document utile (1 vote)
281 vues4 pages

Introduction à l'Assembleur 8086

Le document décrit une introduction à la programmation en assembleur 8086. Il présente des notions de base comme les instructions MOV et les déclarations mémoire et registres. Un exemple de code assembleur simple est donné pour illustrer l'utilisation de l'émulateur 8086.

Transféré par

jalal zerroudi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (1 vote)
281 vues4 pages

Introduction à l'Assembleur 8086

Le document décrit une introduction à la programmation en assembleur 8086. Il présente des notions de base comme les instructions MOV et les déclarations mémoire et registres. Un exemple de code assembleur simple est donné pour illustrer l'utilisation de l'émulateur 8086.

Transféré par

jalal zerroudi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Université : USMBA Année Universitaire : 2017 / 2018

Faculté : FSDM Séction : SMI S4


Département : Informatique Module : Architecture des ordinateurs
Premiers pas en Assembleur 8086

Objectifs : 2) ASSUME SS:Pile


 Se familiariser avec le logiciel Emu8086. Pile SEGMENT STACK
 Débuter avec le langage assembleur. DW 64 DUP(?)
vide EQU THIS WORD
Matériel utilisé : Pile ENDS
 Un PC.
II / Programmation :
I – Préparation théorique :
Parmi les opérations de base qu’on réalise en programmation
I-1 / Expliquer les expressions suivantes ?
Assembleur 8086, le transfert de données. Ceci se fait grâce aux
- TD DW 8086
instructions : MOV.
- message DB “Bonjour, monde !”, ‘$’
- TD DB 5 dup(“Assembleur 8086”)
II – 1 / L’instruction MOV :
- Nbr1 DD ?
L’instruction MOV (En anglais : move est la traduction de mot
- Matrice DW 12, 54, 30
français déplacer). En assembleur, Cette instruction réalise un transfert
- Matrice DW 7 DUP ( ?)
d’une source vers une destination :
- Matrice DB 5 DUP (0, 1)
- Chaine DB ‘Ceci est un message’ MOV destination, source
- Nombre Dw 15h
- Cinq EQU 2*3 Les transferts possibles :
- Six EQU Cinq*2 - Cinq
Destination Source
- Douze EQU Cinq + Six
Registre Registre
Registre Mémoire
I-2 / A quoi servent les déclarations assembleur suivantes ? Mémoire Registre
1) ASSUME DS:Data Registre Valeur immédiate
Data SEGMENT Mémoire Valeur immédiate
ch_in DB " C’est quoi tous ces blancs ?",0
ch_out DB 64 DUP(?)
Data ENDS
Université : USMB Année Universitaire : 2017 / 2018
Faculté : FSDM Séction : SMI S4
Département : Informatique Module : Architecture des ordinateurs
Premiers pas en Assembleur 8086

Exemple 1 : Travail demandé :


mov ax,bx : charge le contenu du registre bx dans le registre ax. Dans ce 1 – Ouvrir l’émulateur emu8086.
cas, le transfert se fait du registre bx (source) vers un autre registre ax
(destination). 2 – Choisir un nouveau document en cliquant sur New dans le
menu affiché.
Exemple 2 :
mov bl, [1200H] : cette instruction réalise le transfert du contenu de la
case mémoire (source) d’adresse mémoire 1200H vers le registre bl
(destination). L’instruction comporte l’adresse de la case mémoire ouse
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 1200H.
L’instruction comporte l’adresse de la case mémoire ou ladonnée va être
transférer.
3 – Ensuite, cliquer sur empty workspace dans la liste affichée afin
d’avoir un document vide.
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
mémoire 1200H. L’instruction comporte l’adresse de la case
mémoire ou la donnée va être transférer.

: :
Université : USMB Année Universitaire : 2017 / 2018
Faculté : FSDM Séction : SMI S4
Département : Informatique Module : Architecture des ordinateurs
Premiers pas en Assembleur 8086

4 – Saisir, alors, le code assembleur suivant : 6 - Deux fenêtres s’afficheront. Une fenêtre (Original souce code)
contient le code qu’on vient d’écrire.
MOV AL,10H Une seconde fenêtre (emulator) qui nous permettra d’exécuter le
code, de voir les contenus des différents registres et beaucoup
MOV AH,09H d’autres choses qu’on verra en fur et à mesure.

MOV AH,AL

MOV BL,AL

MOV CX,BX

5 - Emuler le code en cliquant sur emulate se trouvant sur la barre de


taches principale.

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.
Donner les résultats dans le tableau suivant.
Université : USMB Année Universitaire : 2017 / 2018
Faculté : FSDM Séction : SMI S4
Département : Informatique Module : Architecture des ordinateurs
Premiers pas en Assembleur 8086

II – 2 / Exemple de programme :
Soit le programme suivant :

assume cs :code, ds :code, ss :code


code segment
org 100h
debut :
mov ah, 09h
mov dx, offset message
int 21h
ret
message db "Bonjour, monde !", '$'
code ends
end debut
Travail demandé :

1 – Exécuter le programme sous emu8086. Que fait ce programme ?


(Remarque : Retracer ce tableau pour chaque exécution single step)
2 – Supprimer la 5eme et 6eme lignes. Que remarquez-vous ?
10 – quel est le rôle de single step ?
3 – Restituer la 5eme et 6eme lignes et supprimer la 7eme ligne. Que
11 – Enregistrer ce code sous le nom : monprog1.asm. remarquez-vous ?

4 – Exécuter en mode pas à pas (Single step) et observer l’effet de chaque


instruction.

: :

Vous aimerez peut-être aussi