- Hamdi Hajar
- Mrabti Rhofrane
- Kanoun Youness - Pr EL BDOURI
Filière :
- G.Info 1
Présentation:
But du TP :
Ce TP consiste en une prise en main du microsystème MC 09-B et du jeu d’instruction du microprocesseur
MOTOROLA 6809.
Ainsi, ce TP a traité les points suivants :
- UN microprocesseur 6809.
- une mémoire EPROM moniteur de 8Ko.
- Deux supports pour mémoire EPROM de 8ko.
- Une mémoire RAM de 16Ko.
- Une interface parallèle de PIA 6821.
- Une interface multifonction VIA 6522.
- Une interface série ACIA 6850.
- Une interface TIMER 6840.
- Une interface parallèle système PIA 6821 (gestion clavier et afficheurs)
- Un clavier de 32 touches (hexa + fonctions).
- Un afficheur de 6 digits à 7 segments.
- Une ligne série RS232.
- Une prise pour liaison minitel.
- Une prise pour liaison cassette.
- Deux connecteurs de 50points chacun.
Il ne Faut pas Oublier que La carte nécessite une alimentation externe de + 5 volts, 2 Ampères.
Pour cela, on a relié le +5V de l’alimentation à l’entrée +5V du MC 09-B, ensuite, on a relié la masse de
l’alimentation à l’entré 0V du MC 09-B.
MANIPULATION :
Utilisation du clavier :
Le clavier du Kit-MC 09-B est constitué de 30 touches.
16 touches (0 à F) constituent le clavier hexadécimal pour la saisie d’un programme à travers son code machine.
14 touches constituent le clavier de fonctions.
Registre Contenu
CC BF
U EA15
Y CC60
X 0A4A
A OA
B A7
DP F5
PC 8C17
S 3F0B
Examen de la mémoire:
On examine la mémoire en vérifiant le contenu de l’adresse $8000 après qu’on a tapé la touche MEM, on écrit dans
cette adresse la donnée $11, on incrémente deux fois l’adresse $8000 et on stocke $48 à l’adresse $8002. On fait FIN
puis RESET.
163 = A3.
210 = D2.
212 = D3.
- 1 = FF.
212-1= D3+FF.
$A000 = 40960.
$0FFF = 4095.
Afin d’écrire une donnée à une adresse mémoire, on tape MEM puis on entre l’adresse où on veut écrire la donnée,
soit par exemple $0010 puis on entre la donnée, dans le TP on a entré la donnée $FA.
-On INCREMENTE le champ d’adresse d’une unité à l’aide de la touche INC, on voit alors l’adresse $0011 et le
-On DECREMENTE le champ d’adresse 4 fois à l’aide de la touche DEC, on voit alors l’adresse $000D et le contenu
Pour implémenter ce programme via le kit MC-B, on suit les étapes suivantes:
- On initialise la carte en appuyant sur la touche « RST » du clavier.
- Après l’initialisation, on verra s’afficher « M C 0 9 ».
- On appuie sur la touche « MEM » du clavier, pour accéder à la mémoire.
AFFICHEUR
0 0 0 0 F F
AFFICHEUR
0 0 0 0 8 6
On incrémente l’adresse, en appuyant sur la touche « INC »
AFFICHEUR
0 0 0 1 8 8
AFFICHEUR
0 0 0 1 0 0
AFFICHEUR
0 0 0 2 1 F
AFFICHEUR
0 0 0 4 9 B
AFFICHEUR
0 0 0 5 2 1
AFFICHEUR
0 0 0 6 9 7
AFFICHEUR
0 0 0 7 2 2
AFFICHEUR
0 0 0 8 3 F
A la fin de la saisie du code, on appuie sur la touche FIN du clavier puis, sur la touche EXC pour exécuter le code
machine.
- Après l’exécution du programme sur le kit du MC 09-B on remarque qu’il contient certaines erreurs:
1° ADDA $31= On ne doit pas additionner le contenu de l’accumulateur A avec le contenu de $31 mais avec celui de
$21. (ADDA $21)
2° STA $32 = On ne doit pas stocker le contenu de $32 dans l’accumulateur A mais plutôt celui de $22. (STA $22)
3° Dans l’adresse $0004 il ne faut pas taper 96 mais 9B : « 0004 9B 21 «
4° Dans l’adresse $0006 il ne faut pas taper 96 mais 97 : « 0006 97 »
$20= #$FF
$21= #$FD
$22= #$FC
Conclusion : On remarque que le registre DP contient à cette instant la valeur $5F-$40 ce qui est très clair si l’on voit
le programme exécuter.
La Fonction de ce programme:
Ce programme nous a permis d’insérer une ligne de code dans une adresse bien déterminée.
$20= #$21
$21= #$
$22= #$50
Conclusion : On peut conclure que l’instruction LDA $20 est prise en considération de telle façon à avoir dans
l’adresse $22 la somme des contenus des deux cases $20 et $21.
On appuie sur la touche INS qui nous permet d’insérer une ligne de code dans une adresse précise.
AFFICHEUR
D P - - - -
AFFICHEUR
0 0 0 0 F P
AFFICHEUR
0 0 0 8 A I
Apres avoir, introduit l’adresse du début de programme et celle de fin de programme, le système nous demande
d’introduire l’adresse où nous voulons ajouter l’instruction.
On introduit la valeur 0000 qui présente l’adresse d’insertion puis, on appuie sur la touche EXC, on verra
alors s’afficher : nb
AFFICHEUR
0 0 0 0 N b
AFFICHEUR
I N S 0 1
AFFICHEUR
0 0 0 0 1 2
Le nombre 12 correspond au code machine de l’instruction NOP (pas d’opération). On tapera alors 4F qui
correspond au code de CLRA.
Il est rare, même très rare qu’un programme « tourne » dès le premier essai. Alors Pour bien détecter les erreurs,
on utilise le mode pas à pas qui nous permet d’exécuter les instructions par étapes selon le pas qu’on fixe, c’est ici
que vient le rôle de la touche BRK.
On va utiliser le programme précédent pour vérifier le fonctionnement de cette instruction :
BRK bp
EXC 1 (On fixe un pas de 1)
« Demande de l’adresse à laquelle on veut mettre le 1 er point d’arrêt «
0000
FIN
MC09
« On vient de mettre un premier point d’arrêt à l’adresse 0000 »
EXC
0000 bp
INC
INC
0002 bp
Afin d’arrêter l’exécution en mode pas à pas, il faut taper FIN avant de faire un RST.
On va refaire les mêmes étapes mais pour un point d’arrêt différent, on choisira l’adresse $0006.
OPTIMA 09 est un logiciel à menu déroulant et fenêtre de dialogue spécialement développé pour piloter le MC 09 B.
La souplesse d’utilisation d’OPTIMA 09 assure une remarquable facilité d’utilisation et une maîtrise rapide du
système.
Editeur de TEXTE :
MANIPULATION :
ORG $0000
CLR $0053
LDA $0050
ADDA $0051
STA $0052
BCS RETENUE
BCC PASDERETENUE
PASDERETENUE SWI
END
1ère méthode
ORG $00
LDX #$0030
LDY #$0040
LDB #$06
refaire LDA, X+
ADDA, Y+
STA $F, Y
DEC B
BNE refaire
SWI
END
2éme méthode
ORG $0000
CLR $56
LDB #$06
LDX #$30
LDY #$40
LDU #$50
refaire LDA, X+
ADC A, Y+
STD, U+
DEC B
BNE refaire
ROL $56
SWI
Transfert d’une zone mémoire vers une autre en inversant les octets
ORG $0000
LDX #$0120
LDU #$017F
LDB #$16
Boucle LDA X+
STA -U
DECB
BNE Boucle
SWI
END
0004 3F SWI
b) L’instruction SWI a pour action de mettre fin au programme pour qu’il s’arrête de
c)
12 17 29
127 75 19C
-120 13 FEF3 (sur 4 bits)
-57 -84 FF25 -
34 -80 FFE4
-
-127 126 FFFF
-127 -127 FE5A
-
44 35 79
L’indicateur CC utile dans ce cas est le bit de retenue puisqu’il nous indique qu’il
-
y a une retenue après les sommes effectuées.
- Comparateur de case
-
- multiplication 8bits