Architecture des ordinateurs TD n°2 : Exécution d`un programme en

Faculté des Sciences
Département de physique
Option : Infotronique
____________________________________________________________________________________________________________
Architecture des ordinateurs – TD-TP No 2 1/2 A. Khouas
Architecture des ordinateurs
TD n°2 : Exécution d’un programme en assembleur
et codage binaire
1. Fonctionnement de la mémoire et d’un programme du 8086
En exécutant la commande d 100 sous debug on obtient le résultat ci-dessous :
180D:0100 B8 11 00 BB 00 FF 01 D8-8B 0E 11 00 8B 1E 00 FF
180D:0110 01 D9 CD 20 00 00 00 00-00 00 00 00 34 00 FC 17
180D:0120 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
180D:0130 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
180D:0140 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
180D:0150 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
180D:0160 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
180D:0170 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00
1.1. Donner le nombre de bits et d’octets affichés par cette commande.
1.2. Donner les adresses du premier octet et du dernier octet affiché.
1.3. Donner le contenu des cellules mémoire d’adresse 109, 10A, 113, 11F, et 17D.
1.4. Sachant que le code hexadécimal de l’instruction de fin de programme est CD20, donner
la taille en octets et en bits du programme sauvegardé à partir de l’adresse 100 ?
1.5. Sachant que les instructions 1,2 sont codées sur 3 octets, 4 et 5 sont codées sur 4 octets et
toutes les autres instructions sont codées sur 2 octets, quel est le nombre total
d’instructions du programme ?
1.6. Donner en hexadécimal les codes de toutes les instructions du programme.
2. Questions de cours
2.1. Que représente la taille d’un bus de communication ?
2.2. Donner le rôle et les propriétés des différents types de bus existants.
2.3. C’est quoi un système de numération basée et positionnelle ?
2.4. Que signifie une base d’un système de numération ?
2.5. Quelles sont les bases les plus utilisées et pourquoi ?
2.6. Expliquer la contrainte du nombre fixe de bits dans les microprocesseurs.
2.7. Quels sont les nombres de bits qui peuvent être manipulé par le microprocesseur 8086 ?
2.8. Quelles sont les conséquences de la contrainte du nombre fixe de bits ?
2.9. Combien de nombres peut-on représenter avec 8, 16, et 32 bits ?
3. Codage binaire des entiers naturels (non signés)
3.1. En considérant le codage des nombres non signés, compléter le tableau ci-dessous :
Décimal Binaire Hexadécimal
16
100
243
F0
19
____________________________________________________________________________________________________________
Architecture des ordinateurs – TD No 2 2/2 A. Khouas
A3
1000
101010
10001000
3.2. En considérant le codage binaire sur 8 bits des nombres non signés, effectuer les
opérations suivantes et indiquer celles qui génèrent une retenue (carry).
111100 + 11010000 =
1011100 + 11101111 =
11100110 + 11010001 =
0011 * 1000 =
1111 * 1111 =
3.3. En considérant le codage hexadécimal sur 2 octets des nombres non signés, effectuer les
opérations d’addition suivantes et indiquer celles qui génèrent une retenue (carry).
1234 + CDEF =
F010 + 12BA =
5A9C + E318 =
4. Codage binaire des entiers relatifs (signés)
4.1. En considérant le codage sur 4 bits des nombres, compléter le tableau ci-dessous :
Binaire Codage
non signé
Signe et
valeur
Complément
à 1
Complément
à 2
0000
1000
1111
0011
1011
0010
1010
4.2. En considérant le codage hexadécimal en complément à 2 et sur 2 octets, effectuer les
opérations d’addition suivantes et indiquer celles qui génèrent une retenue (carry) et/ou
un débordement (overflow).
0B3D + A150 =
E010 + 3401 =
8000 + 8000 =
5. Codage des nombres réels
5.1. En considérant le codage en virgule fixe Q8 (ou Q8.8) sur 16 bits en complément à 2 (1
bit de signe, 7 bits de partie réelle, et 8 bits de partie fractionnelle), donner les valeurs
décimales des nombres suivants : 0000, FF01, 0A80, 8A3F.
5.2. En considérant le codage en virgule flottante simple précision de IEEE (1 bit de signe, 8
bits d’exposant en codage biaisé-127 et 23 bits de mantisse), donner les valeurs
décimales des nombres suivants : 40000000, 80000000,22808000, 429CC000.
6. Travail pratique (à faire chez soi)
6.1. Écrire et exécuter un programme assembleur permettant de faire les additions de la
question 4.2. Vérifier les résultats obtenus ainsi que le registre des flags pour la retenue
(1=CY, 0=NC) et le débordement (1=OV, 0=NV).
1 / 2 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !