Exercice (1) : (a) Le premier microprocesseur 4004 (1971) possède un registre interne de 4 bits, le 8008 (1972) et le 8085 (1977) utilisent 8 bits, le 8086 (1978) à un accumulateur de 16 bits. Quels sont les nombres entiers signés qu’on peut représenter avec ces microprocesseurs ? (b) Le nombre de pins d’adresses utilisés par le 8085 est 16 (AD0…AD7 et A8…A15) ; pour le 8086 on trouve 20 ; et le 80386 possède 32 pins pour le bus d’adresses. Combien de location mémoire peut-on adresser avec chacun de ces microprocesseurs ? (c) Donner le diagramme bloc d’une simple calculatrice et faite la comparaison avec le schéma de Von Neumann d’un ordinateur. Exercice (2) : (voir figure.1) (a) Montrer comment dans le cas du 8085, on peut accéder à la mémoire principale ou au port d’entrées/sorties, avec WR*, RD* et IO/M*. (b) Indiquer les registres internes du 8085; quelle est la particularité des registres A, et (H et L). (c) Quel est l’utilité de la pin ALE (Address Latch Enable) du 8085; expliquer les différentes configurations possibles à l’aide d’un tableau et des états de ALE, WR* et RD*. Exercice (3) : Dans cet exemple, nous avons un certains nombre de 8 bits dans la case mémoire d’adresse X. On veut calculer le complément à deux et stocker le résultat dans la position mémoire Y. On donne : X=F840 H ; Y= F850 H. avec <X>=12 H= (0001 0010)2. Utilisez les mnémoniques : LDA ; CMA ; INR ; STA ; HLT. Figure 1 diagramme des pins du 8085
(a) Donner le code assembleur nécessaire
pour résoudre ce problème (le complément à 2 est calculer avec complément à 1). (b) Quel est le code machine qu’on obtient en assemblant le code source. On a besoin de combien d’octets pour stocker notre programme. (c) Quels sont les avantages et les inconvénients d’utiliser une RAM ou une EPROM pour stocker le programme.