Académique Documents
Professionnel Documents
Culture Documents
TP N°1
Premiers pas en programmation Assembleur 8086
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.
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 :
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 [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 où la donnée va être transférer.
Exemple 4 :
1
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 :
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 :
3
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.
10 – Donner les résultats dans le tableau suivant :
4
5 – Que remarquez-vous sur la mémoire ?
………………………………………………………………………………………………….……………………………………………………………………………………………
…….………………………………………………………………………………………………….………………………………………………………………………………………
………….………………………………………………………………………………………………….…………………………………………………………………………………
……………….………………………………………………………………………………………………….……………………………………………………………………………
…………………………………………………………………....……………….………………………………………………………………………………………....……………
….………………………………………………………………………………………....……………….………………………………………………………………………………
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, le programme, …
Registres mémoire Programme
– 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.
5
7 – Observer maintenant la case correspondant à 01001 et compléter le tableau
Valeur Signification
01100
05
005
Et 2eme cas :
mov ax, 55
mov [100], ax
6
13 – Compléter le tableau ci-après.
Valeur 1er cas 2eme cas
Adresse physique
Valeur en Hexadécimal
Valeur en Décimal
Valeur en Code ASCII
14 – Commentaire :
…………………………………………………………………………………………………
………………………………………………………………………………………………….
………………………………………………………………………………………………….
………………………………………………………………………………………………….