Vous êtes sur la page 1sur 3

Avant exécution :

Mémoire Mémoire Mémoire


Module : SYSTEMES A MICROPROCESSEURS 20 DP
LICENCE EEA
Professeur : A. BA-RAZZOUK $0020 20 $1920 1A $2019 19
Année universitaire : 2012 – 2013, Semestre : 5 0000 Y
$0021 19 $1921 1B $201A 20
$0022 20 $1922 1C $201B 21 Après exécution :
T R A V A U X D I R I G É S - SERIE N° : 2 $0023 1A $1923 1D $201C 22
DP
Exercice 1 :
Y
Considérer le plan mémoire suivant d’un microprocesseur MC6809 et l’instruction « ADDA [$2002] ». Remplir
la zone ombrée :
Exercice 4 :
Mémoire Mémoire Avant exécution :
Considérer le plan mémoire suivant d’un microprocesseur MC6809 et l’instruction « SUBA $21 ». Remplir les
$2000 10 81 Acc. A zones ombrées :

$1000 AB 00 Mémoire Mémoire Mémoire Avant exécution :


$1002 7E $2002 10 Après exécution : 20 DP
$1004 FC 02 $001E 18 $201F 35 $2120 21
Acc. A
$2004 FA Acc. A
10 $001F 21 $2020 27 $2121 18
04 $0020 18 $2021 C1 $2122 19 Après exécution :
$0021 1A $2122 A0 $2123 22
DP

Acc. A
Exercice 2 :
Considérer le plan mémoire suivant d’un microprocesseur MC6809 et l’instruction « ANDA $F2, U ». U étant
le pointeur de pile utilisateur. Remplir les zones ombrées :
Exercice 5 :
Avant exécution : Après exécution :
Considérer le plan mémoire suivant d’un microprocesseur MC6809 et l’instruction « ADDA $70, PC ». PC
1000 U U étant le compteur programme. Remplir les zones ombrées :
Avant exécution : Après exécution :
20 Acc. A Acc. A
1000 PC PC

20 Acc. A Acc. A
Mémoire Mémoire Mémoire Mémoire
Mémoire Mémoire Mémoire Mémoire

$00F0 1A $1000 10 $0FF0 19 $10F0 FF


$00F0 1A $1000 10 $1070 19 $F000 F0
$00F1 2B $1001 20 $0FF1 3A $10F1 EF
$00F1 2B $1001 20 $1071 3A $F001 1F
$00F2 3C $1002 30 $0FF2 20 $10F2 CF
$00F2 3C $1002 30 $1072 4B $F002 2C
$00F3 4D $1003 40 $0FF3 5C $10F3 DF
$00F3 4D $1003 40 $1073 5C $F003 A9

Exercice 3 :
Exercice 6 :
Considérer le plan mémoire suivant d’un microprocesseur MC6809 et l’instruction « LDY $19 ». Remplir les
Considérer le plan mémoire suivant d’un microprocesseur MC6809 et l’instruction « LDY [$3000, PC] ». PC
zones ombrées :
étant le compteur programme. Remplir les zones ombrées :

TD – Systèmes à microprocesseurs Page 1/6 TD – Systèmes à microprocesseurs Page 2/6


Avant exécution : Après exécution : Exercice 9 :
On donne l’état partiel du microprocesseur 6809 : LDA $01
0010 PC PC
STA $11
X= $0005 ;
0000 Index Y Index Y Y= $0001 ; LDX #$1011
A= $00 ; ADDB ,X
Mémoire Mémoire Mémoire Mémoire B= $1F ; STB $12
DP= $10 ;
S= $0000 ; ADDA $02
$0010 E1 $2000 AB $3000 01 $3010 00 U= $0000. LDY [$1003]
$2001 $3001 23 LDX #$0000
$0011 E2 C0 $3011 10 Considérer le bout de programme ci-contre et remplissez les cases
LOOP LDA ,X+
$0012 D3 $2002 F1 $3002 67 $3012 01 mémoires pertinentes en donnant leurs adresses et leurs contenus.
STA ,-Y
$0013 B4 $2003 20 $3003 45 $3013 11
Donnez toutes les étapes d’exécution pour justifier vos réponses. CMPX #$000A
$0014 07 $2004 C3 $3014 20 BNE LOOP
$2005 1D $3015 01 SWI
Mémoire:
$0000 00 $1000 A0 $1100 4C $______
$0001 01 $1001 B1 $1101 10 $______
$0002 02 $1002 1A $1102 3A $______
Exercice 7 :
$0003 03 $1003 10 $1103 10 $______
Considérer le plan mémoire suivant d’un microprocesseur MC6809 et l’instruction « ADDD [ $2000, PC ] ».
PC étant le compteur programme. Remplir les zones ombrées : $0004 04 $1004 0D $1104 00 $______
Mémoire Mémoire Mémoire Avant exécution : $0005 05 $1005 05 $1105 7E $______
$0006 06 $1006 C6 $1106 FF $______
0022 PC
$0007 07 $1007 77 $1107 20 $______
$0010 AB $2000 1A $2024 FF
1010 Acc. D $0008 08 $1008 4E $1108 00 $______
$0011 CD $2001 1B $2025 00 $0009 09 $1009 0A $1109 11 $______
$0012 $2026 Après exécution : $000A 0A $100A BA $110A 22 $______
EF $2002 1C 00
$0013 00 $2003 1D $2027 11 $000B 0B $100B B2 $110B 5A $______
PC
$000C 0C $100C 4C $110C 20 $______
Acc. D $000D 0D $100D 20 $110D 11 $______
$000E 0E $100E 0A $110E 10 $______
$000F 0F $100F FF $110F 02 $______
Exercice 8 :
Exercice 10 :
Considérer le plan mémoire suivant d’un microprocesseur MC6809 et l’instruction « LDY , --X ». L’index X
contient la valeur $1002. Remplir les zones ombrées : On considère un microprocesseur 8 bits simplifié, présenté à la figure 1, dont la structure est la suivante :
Mémoire Mémoire Avant exécution : Une unité d’adressage composée de 3 registres de 16 bits :
- Un compteur programme CP ;
Index X - Un pointeur de pile PP ;
$1A2B 10 $1000 1A - Un registre index X.
0000 Index Y Une unité de traitement comprenant une UAL et 2 registres 8 bits :
$1A2C 20 $1001 2B
- Un registre de travail appelé accumulateur A ;
$1A2D 30 $1002 3C - Un registre d’état, mis à jour lors d’une opération sur l’UAL, comporte les 4 indicateurs suivants :
Après exécution :
$1A2E $1003 4D N : Signe 0 si positif ou nul, 1 si négatif
40
Z : Résultat nul 0 si non nul, 1 si nul
Index X V : Overflow 0 si pas de débordement, 1 sinon
C : Retenue 0 si pas de retenue, 1 autrement
Index Y Un 5ème indicateur I, mis à jour par les instructions EI (mise à 0) et DI (mise à 1), est appelé masque
d’interruption. Lorsqu’il est à 1, les interruptions sont inhibées.

TD – Systèmes à microprocesseurs Page 3/6 TD – Systèmes à microprocesseurs Page 4/6


Le code opératoire d’une instruction est sauvegardé à l’intérieur du microprocesseur dans le registre
d’instructions. La machine possède 4 modes d’adressage. Les instructions ont donc un format variable suivant
le mode choisi. Le tableau suivant illustre les différents cas : 1) Traduire en langage d’assemblage (emprunter les mnémoniques du 6809) les instructions suivantes :

Mode d’adressage Nombre d’octets Forme de l’instruction a- 25 25


Étendu 3 Code opératoire + adresse b- 62
Indexé 2 Code opératoire + déplacement non signé sur 1 octet c- 13 08
Implicite 1 Code opératoire d- 28 3F 12
Immédiat 2 ou 3 Code opératoire suivi d’un opérande (1 octet) ou une adresse (2 octets) e- 08 E0 BA
Les différents types de traitement mis en œuvre avec ce processeur sont les suivants (avec les conventions Indiquer la fonction réalisée avec les instructions précédentes. La première instruction de ce bout de
d’écriture suivantes : programme est placée à l’adresse $3F10 dans la mémoire.
M[i] = mot mémoire d’adresse i, ( )=contenu de, 3) Une initialisation à la mise sous tension du processeur impose une valeur nulle dans tous les registres. La
M.A= mode d’adressage, T= traitement. figure 1 décrit l’état du processeur au moment de la recherche de la première instruction après initialisation. La
mémoire a précédemment été chargée avec un programme à l’adresse $0000 et quelques données.
Traitement sur une seule variable :
A T(A) M.A implicite a- Traduire en langage d’assemblage (emprunter les mnémoniques du 6809) le programme implanté en
M[i] T(M[i]) M.A étendu et indexé mémoire ;
b- Décrire l’état des registres, des bus de la machine et de la mémoire après l’exécution de chaque
Traitement sur une variable ou une constante : instruction et préciser l’état des indicateurs.
A (A), T(Cste) M.A immédiat
4) Que pensez-vous de l’instruction 1B 56.
Traitement sur 2 variables :
A (A), T(M[i]) M.A étendu et indexé Microprocesseur Mémoire

Si b7, b6, b5, b4, b3, b1, b0 représentent les huit bits du premier octet d’une instruction, le principe de codage BUS d’adresses Adresse Contenu
du code opératoire apparaît ci-dessous : $0000 77
b1 - b0 Codage du mode d’adressage b3 - b2 Codage du type d’instruction $0001 20
00 Étendu 00 Traitement 00
V N Z C I
01 Indexé 01 Transfert 67
10 Implicite 10 Branchement 10
Acc. A 00
11 Immédiat 11 Divers 00
CP 0000 27
b6 - b5 - b4 : Codage des fonctions D5
b6 - b5 - b4 Cas des traitements b6 - b5 - b4 Cas des transferts X 0000 71
000 Comparaison 000 Entrée
FF
001 ET 001 Sortie PP 0000
33
010 OU 010 Chargement
82
011 Addition avec retenue 011 Stockage
100 Soustraction 100 Push
101 Incrémentation 101 Pull
110 Décrémentation 110 Chargement de X $10FF 84
111 Addition sans retenue 111 Chargement de PP 23
Remarque : les chargements des registres X et PP nécessitent, en adressage immédiat, la fourniture de E4
deux octets (adresse).
b6 - b5 - b4 Cas des branchements b6 - b5 - b4 Cas des divers BUS de données
000 Inconditionnel 000 EI
001 Appel à sous programme 001 DI Figure 1
010 Branchement si Z=1 010 RTS
011 Branchement si Z=0 011 RTi
100 Branchement si C=1 100 NOP
… …

Le bit b7 n’est pas utilisé.

TD – Systèmes à microprocesseurs Page 5/6 TD – Systèmes à microprocesseurs Page 6/6