Académique Documents
Professionnel Documents
Culture Documents
Sem 2
MICROPROCESSEUR
8086
Objectifs :
Comprendre la segmentation mémoire et l’architecture matérielle du processeur 8086.
Se familiariser avec le langage assembleur 8086
Se familiariser avec l’outil Emu8086
Ce que vous visualisez dans le memory list dans l’ordre est -Adresse physique hex decimal et le
code ASCII-
5. Ecrire un programme qui fait la somme de deux double mots stockés en mémoire, le résultat
sera également mis en mémoire.
6. Ecrire un programme qui calcule (sous forme d’une boucle), la somme S = 1+2+3+4+5+6+7 et
mettre le résultat dans DX.
Travaux Dirigés :
1. Donner le mode d’adressage de chaque opérande ainsi que le résultat de chaque instruction
(calculer les adresses physiques) :
MOV [F104], AX
MOV DX, 1241h
MOV DS, DX
MOV [1412h], DX
MOV AL,[1413]
CORRECTIONS
1- Donner le mode d’adressage de chaque opérande ainsi que le résultat de chaque instruction (calculer les adresses
physiques) :
MOV AX, 0102h
MOV DS, AX
MOV [F104], AX
MOV DX, 1241h
MOV DS, DX
MOV [1412h], DX
MOV AL,[1413]
3- Ecrire un programme qui calcule la somme de deux mots stockés aux adresses [500h] et [600h] et stocker le
résultat dans [1000h]
R3-
MOV AX, [500h]
ADD AX,[600h]
MOV [1000h],AX
4- Ecrire un programme qui fait la somme de deux double mots stockés à [200h] et [400h], le résultat sera mis dans
[600h].
R4-
MOV AX, [200h]
MOV BX,[201h]
ADD AX, [400h]
ADC BX, [402h]
MOV [600h], AX
MOV [602h], BX
5- Ecrire un programme qui calcule (sous forme d’une boucle), la somme S = 1+2+3+4+5+6+7 et mettre le résultat
dans DX.
R5-
MOV DX,0
MOV BX, 1
Boucle : ADD DX,BX
INC BX
CMP BX,7
JBE boucle
6- Ecrire ujn programme qui calcule (sous forme d’une boucle) la somme de i² et mettre le résultat dans DX.
R6-
MOV DX,0
MOV BL,1
Boucle : MOV AL,BL
7- Soit une chaîne de caractères à l’adresse 1200h. Ecrire un programme qui met sa longueur dans CX.
8- Soit une chaîne de caractères à l’adresse 1200h. Ecrire un programme qui compte le nombre de « A » dans cette
chaîne, le résultat est mis dans DX.
MOV DX,0
MOV BX, 1200h
Boucle : MOV AL, [BX]
CMP AL,0
JE fin
CMP AL, 41h ; code ASCII du caractère « A »
JNE suite
INC DX
Suite : INC BX
JMP boucle
Fin :
9- Soit une chaîne de caractères à l’adresse 1200h. Ecrire un programme qui convertit les caractères minuscules de
cette chaîne en majuscules.
R9-
A= 0100 0001 Z =0101 1010
a = 0110 0001 z = 0111 1010
MOV BX,1200h
Boucle : MOV AL,[BX]
CMP AL,0
JE fin
CMP AL,61h ; comparer avec A
JB suite
CMP AL,7A ; comparer avec Z
JA suite
AND AL, DFh ; DF =1101 1111
MOV [BX], AL
Suite : INC BX
JMP Boucle
Fin :