Faculté des Sciences Département de physique Option : Infotronique 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 180D:0110 01 D9 CD 20 00 00 00 00-00 00 00 00 34 180D:0120 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 180D:0140 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 180D:0160 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 1E 00 00 00 00 00 00 00 00 FC 00 00 00 00 00 00 FF 17 00 00 00 00 00 00 1.1. 1.2. 1.3. 1.4. Donner le nombre de bits et d’octets affichés par cette commande. Donner les adresses du premier octet et du dernier octet affiché. Donner le contenu des cellules mémoire d’adresse 109, 10A, 113, 11F, et 17D. 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. 2.2. 2.3. 2.4. 2.5. 2.6. 2.7. 2.8. 2.9. Que représente la taille d’un bus de communication ? Donner le rôle et les propriétés des différents types de bus existants. C’est quoi un système de numération basée et positionnelle ? Que signifie une base d’un système de numération ? Quelles sont les bases les plus utilisées et pourquoi ? Expliquer la contrainte du nombre fixe de bits dans les microprocesseurs. Quels sont les nombres de bits qui peuvent être manipulé par le microprocesseur 8086 ? Quelles sont les conséquences de la contrainte du nombre fixe de bits ? 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 ____________________________________________________________________________________________________________ o Architecture des ordinateurs – TD-TP N 2 1/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 : Codage Signe et Complément Complément Binaire non signé valeur à 1 à 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). ____________________________________________________________________________________________________________ o Architecture des ordinateurs – TD N 2 2/2 A. Khouas