Vous êtes sur la page 1sur 3

Corrigé de l'exanlen final LAT 315

• Questions de cours:

1. Quelle est la capacité d'adressage


La capacité d'adressage du 8086 est de 1 M

2. Pour un 8086, donnez le nom, la taille et expliquez le rôle des registres suivants: AX, ex, DX, IP,
DS.
Le registre AX est l'accumulateur, c'est un registre de 16 bits à usage général.
Le registre ex est le compteur, c'est un registre 16 bits à usage général qui sert aussi de compteur de
boucle.
Le registre DX est un registre de 16 bits, c'est un registre à usage général utilisé lors des opérations de
multiplication et de division mais surtout pour contenir le numéro d'un port d'entrée/sortie pour
adresser les interfaces d'E/S.
• Le registre IP et le compteur programme, c'est registre 16 bits qui contient l'adresse effective de la
prochaine instruction à exécuter.
Le registre DS est le registre segment de données, c'est un registre 16 qui contient l'adresse du début
du segment de données.
3. Expliquer l'architecture pipeline et quelle est la différence entre l'architecture rusc et CISC
d'un microprocesseur

architecture pipeline: exécution des instructions dans chacune des étapes (fonction du up)
architecture RISe : nombre grand d'instructions, le up exécute des taches complexes
architecture CISe: nombre réduit d'instructions

4. Quel doit être la taille du bus d'adresse d'un microprocesseur 16 bits pour qu'il puisse
accéder à une mémoire de 512 ko ?
512 = 29 x 2 '0 octets = 2 '9 octets. L~
Donc, la taille du bus d'adresses est de 19 bi W

Définir: l'adresse effective, l'adresse logique et l'adresse physique.

L'adresse effective représente un déplacement (offset) par rapport à une référence fixe (l'adresse d'lill

segment).

L'adresse logique est la manière par laquelle le 8086 référencie une donnée en mémoire. Elle est

constituée par deux registres 16 bits (un registre segment et un registre offset) et est donnée sous la

forme segment: offset.

L'adresse physique est l'adresse réelle d'une donnée véhiculée par les 20 bits du bus d'adresse.

L'adresse physique est calculée par l'expression suivante: D .


Adresse physique = (lOh x segment) + offset (en hexadécimal) ~
• Exercice N° :01(05,00 pts)

1. Indiquer pour chacune des instructions suivantes le mode d'adressage.

Instruction Mode d'adressage ~


MOV AL, [OOOBH] Mode divect (O/V ri
ADD AL, C4H Mode iMMédiat Cg/V ~
MOV [BXL OOH Mode it'\divect basé ~ (0)))
SUB AL, [BX + SI] Mode it'\divect basé-În.dexé (0/) )
~

2. Donner le contenu final de chaque registre après exécution de l'ensemble des opérations suivantes:

MOVBX,200H
MOV SI, BX
ADDBX,50H
MOV AL, BH
MOV AH,BL
XORAH,AL

Registre Contenu final


BX 02 1 ~ 50 D

SI 200( Ol~)
52
AX 1 -­ 02
-C[V
l .l /~

3. On souhaite stocker le contenu du registre AH en mémoire en utilisant: MOV [1200h], AH sachant


que (DS=720h) alors:

• L'adresse effective: ======-+1200


• L'adresse physique:

JI L'adresse physique est calculée par l'expression suivante:


Adresse physique = (lOh x segment) + offset (en hexadécimal)
@ J
Adresse physique = (10h x nOh) + 1200h=====O+08400H ./1
• Exercice N° :02 (06,00 pts)

1. Commenter chaque instruction du programme suivant:

Instruction Commentaire
MOVCL,04 Charger la partie basse du registre cx par la valeur 4
MOV AL, 01 Charger la partie basse du registre ax par la valeur 1
RETOUR: MUL CL Multiplier le contenu du registre ax avec cx /,.. '\
DECCL Décrémenter le contenu du registre cx / :t 1 L
CMP CL,l Comparer le contenu du registre cx à la valeur 1
~ /'
JE FIN Si égal =========-+ fin
JMPRETOUR Sinon se brancher vers l'étiquette RETOUR
FIN:HLT Arrêt du programme
2. Donner l'organigramme du programme précédent.

Début

NoN

CL~

3. Donner le contenu final du registre AX. Que fait alors ce programme.

AX~24 0
Ce programme réalise le factoriel d'un nombre (01 octet) cI)
• Exercice N° :03 (05,00 pts)
1. Écrire un programme en assembleur 8086 qui per aluer l'expression suivante et de
stocker le résultat en mémoire à l'adresse 1000H: O~

2. Traduire en langage assembleur 8086 l'organigramme suivant:

Le pl"09I"tH'V\~'1M :

MOV CX, 1..(,


MOV 8L, 0
81..; SHR AX, 1..
JNC Next
[NC 8L
Next: LOOP 81..

MOV [1..;2.00H], 8L

HLT

3. Compter le nombre de 1 dans un mot bi~@


. "Ùe 16 bits (contenu dans AX). Le résultatsera stocké
dans la case mémoire d'adresse 1200H. O.A
"~~
~ . l-,t.~~"'~

Vous aimerez peut-être aussi