Académique Documents
Professionnel Documents
Culture Documents
EXERCICE 1
EXERCICE 2
EXERCICE 3
1)
EXERCICE 4
EXERCICE 5
1)
ENTRÉES SORTIES
Clear Mode Parallèles
CLK Q3 Q2 Q1 Q0
�����
𝑀𝑀𝑀𝑀 S0 S1 P3 P2 P1 P0
1 1 1 1 1 0 1 1 1 0 1 1
2)
EXERCICE 1
1) Quelle est la capacité en bits d’une mémoire pouvant stocker 1073741824
Octets ?
Solution :
CM = 1 073 741 824×8 = 8 589 934 592 Bits.
EXERCICE 2
Quelles peuvent être les organisations d’une mémoire de 32kbits, sachant
qu’elle utilise des mots ayant une taille multiple d’une puissance de 2
(exemple : 8,16,…)
Solution :
32 kbits = 32768 bits.
Cette mémoire aura
- 4096 mots de 8 bits (4096=32768/8) ou
- 2048 mots de 16 bits ou
- 1024 mots de 32 bits ou encore
- 512 mots de 64 bits …
EXERCICE 3
Calculer la capacité mémoire d'un boitier dont le bus d'adresse est de 16
bits et un bus de données de 8 bits.
Solution : Puisque 8 bits = 1 octet, la capacité = 216 × 1 = 64 Ko
EXERCICE 4
1) Effectuez l’extension de la mémoire ROM de 64k × 4 de la figure ci-dessous
pour créer une mémoire ROM de 64k × 8.
Solution :
Huit mémoires ROM de de 64k × 1 sont connectées en parallèle pour former une
mémoire ROM de 64k × 8.
EXERCICE 5
1) Utilisez les mémoires de l’exercice 4 pour former une mémoire ROM de
64k × 16.
Solution :
Vous devez créer une mémoire pouvant stocker 65 536 mots de 16 bits. Il faut
donc quatre mémoires ROM de 64k × 4, comme l’illustre la figure ci-dessous.
2) Combien faut-il de mémoires ROM de 64k × 1 pour créer une mémoire ROM de
64k × 16.
Solution :
Seize mémoires ROM de 64k × 1.
EXERCICE 6
1) Utilisez des mémoires SRAM de 1M × 4 pour créer une mémoire SRAM de
1M × 8.
Solution :
EXERCICE 7
1) Utilisez des mémoires RAM1 de 512k × 4 pour créer une mémoire RAM2 de
1M × 4.
Solution :
EXERCICE 8
À l’aide de plusieurs RAM (M1) de la figure ci-dessous de 512 octets
possédant un bus de donnée de 4 bits, on souhaite réaliser une RAM (M2) de 8
KO possédant un bus de donnée de 16 bits.
Solution :
Ce sont les 2 bits d’adresse supplémentaires de la mémoire M2 (par
rapport à la mémoire M1) qui vont servir à déterminer le �𝐶𝐶𝐶𝐶
��� des RAM
(12 – 10 = 2).
5) Donnez le schéma de câblage.
EXERCICE 1
Indiquer le mode d’adressage dans chacune des instructions suivantes :
EXERCICE 2
Après exécution du programme de l’exercice 1, écrit en assembleur 8085,
quel est le contenu des cases mémoires dont les adresses sont : 204AH et
204BH ?
Solution :
- Le contenu de la case mémoire dont l’adresse 204AH = 0AH.
- Le contenu de la case mémoire dont l’adresse 204BH = FFH.
EXERCICE 3
1) Quelle est la taille en Octet (Byte) de chaque instruction du programme
de l’exercice 1.
2) Donner le code Hexa de chaque instruction
Solution :
EXERCICE 4
Vérifier chaque instruction du programme ci-dessous si elle correcte ou
non et corriger-la si nécessaire.
Solution :
EXERCICE 5
Écrire un programme en assembleur 8085 qui permet de calculer l’expression
W = X + Y – Z. Le résultat doit être rangé à l’adresse FF03H tout en sachant
que X, Y et Z se trouvent à l’adresse FF00H, FF01H et FF02H respectivement.
Solution :
#ORG FF00H
#DB 0AH, 0BH, 06H
#ORG FF04H
#BEGIN FF04H
LXI H,FF00H
MOV A,M
INX H
ADD M
INX H
SUB M
STA FF03H
HLT
EXERCICE 6
Écrire un programme en assembleur 8085, qui permet de multiplier le contenu
de l’accumulateur par la valeur 5.
Solution :
# ORG 0000H
# BEGIN 0000H
MVI A,0AH
MOV B,A
ADD A ; ACC = A+A
ADD A ; ACC = (A+A) + (A+A)
ADD B ; ACC = (A+A) + (A+A)+ A => ACC X 5
HLT
EXERCICE 7
Écrire un programme en assembleur 8085, qui permet de multiplier le contenu
de l’accumulateur par la valeur 4.
Solution :
# ORG 0000H
# BEGIN 0000H
MVI A,08H
ANA A ; clear carry
RAL
ANA A
RAL
HLT
EXERCICE 8
Écrire un programme en assembleur 8085, qui permet de diviser le contenu
de l’accumulateur par la valeur 8.
Solution :
# ORG 0000H
# BEGIN 0000H
MVI A,20
ANA A
RAR
ANA A
RAR
ANA A
RAR
HLT
EXERCICE 9
Écrire un programme en assembleur 8085, qui permet de stocker à l’adresse
FF03H le plus grand de deux nombres X et Y se trouvant à l’adresse FF00H
et FF01 respectivement, et de stocker la valeur BBH à l’adresse FF02H. Si
X est égal à Y, le programme doit permettre stocker X ou Y à l’adresse
FF03H et la valeur EEH à l’adresse FF02H.
Solution :
# ORG FF00H
# DB 01H, 11H,10H
# ORG FF04H
# BEGIN FF04H
LXI H,FF00
MOV A,M
INX H
MOV C,M
CMP C
JZ EQUAL
JC GREATER
STA FF03
MVI A,BB
STA FF02
HLT
EQUAL:STA FF03
MVI A,EE
STA FF02
HLT
GREATER:MOV A,C
STA FF03
MVI A,BB
STA FF02
HLT
EXERCICE 10
Écrire un programme en assembleur 8085, qui permet de transférer 10 octets,
situés dans la zone mémoire délimitée par l’adresse de début, FFA0H, à la
zone mémoire délimitée par l’adresse de début FFB0H.
Solution :
# ORG FFA0
# DB A0H, A1H, A2H, A3H, A4H, A5H, A6H, A7H, A8H, A9H
# ORG 0000H
# BEGIN 0000H
MVI B,0A
LXI H,FFA0
LXI D,FFB0
LOOP: MOV A,M
STAX D
INX H
INX D
DCR B
JNZ LOOP
HLT