-
Royaume du Maroc
OFFICE DE LA FORMATION PROFESSIONNELLE ET DE LA PROMOTION DU
TRAVAIL
MODULE 11 Introduction aux Microprocesseurs
Travail Pratique
Tlcharger tous les modules de toutes les filires de l'OFPPT sur
le site ddi la formation professionnelle au Maroc :
www.marocetude.com Pour cela visiter notre site www.marocetude.com
et choisissez la rubrique : MODULES ISTA
Premire Anne
Programme de Formation des Techniciens Spcialiss en
lectronique
DIRECTION DE LA RECHERCHE ET INGENIERIE DE LA FORMATION
Septembre 1995
-
INTRODUCTION AUX MICROPROCESSEURS TRAVAIL PRATIQUE
crire des Programmes en Assembleur
TECCART INTERNATIONAL 2000 inc. 3155, boul. Hochelaga,
Montral, Qubec (Canada)
H1W 1G4
RDACTION Serge Leblanc DESSINS ET CONCEPTION GRAPHIQUE Serge
Leblanc RVISION TECHNIQUE Pierre Asselin & Christian Lpine
RVISION LINGUISTIQUE Franois Gaudreau
COMMISSION DE VALIDATION
Formateurs de l'OFPPT
Les droits de reproduction et de diffusion de ce document sont
cds par Teccart International 2000 inc. lOffice de la Formation
Professionnelle et de la Promotion du Travail du Royaume du Maroc,
pour sa propre utilisation au Maroc.
Mis part lOFPPT, toute reproduction, en tout ou en partie, par
quelque procd que ce soit, est interdite.
Mp_Tp3.Doc, imprim Montral, le 23 fvrier 2014
-
TABLE DES MATIRES
3. CRIRE DES PROGRAMMES EN ASSEMBLEUR 3-1
3.1 Information gnrale 3-1 3.1.1 Comptence vise 3-1 3.1.2
Critres particuliers de performance: 3-1 3.1.3 Dure du travail
pratique: 3-1 3.1.4 Matriel ncessaire par quipe: 3-1 3.1.5
Directives: 3-1 3.1.6 valuation: 3-1 3.1.7 Points particuliers
surveiller: 3-1
3.2 Discussion 3-2
3.3 Logiciel de gestion 3-3 3.3.1 dition des programmes 3-4
3.3.2 Assembleur & diteur de liens 3-5 3.3.3 Transfert de
programmes au systme Mod. E6809 3-5 3.3.4 Connexion avec le
Programmeur d'EPROM. 3-7
3.4 Assembleur 6809 3-8 3.4.1 Syntaxe de lassembleur 3-8 3.4.2
Directives de lassembleur 3-9
3.5 Montage dun interface dentre/sortie 3-10 3.5.1 Vrification
du dispositif de sortie 3-10 3.5.2 Schma lectrique du dispositif
dentre/sortie 3-11
3.6 Exercices 3-12 3.6.1 Exercice #1, Compteur binaire 3-12
3.6.2 Exercice #2, Gnrateur de frquence 3-15 3.6.3 Exercice #3,
Lire et crire sur le dispositif dentre/sortie 3-16 3.6.4 Exercice
#4, Onde carr 1 Hz 3-17 3.6.5 Exercice #5, Chenillard 3-18 3.6.6
Exercice #6, Lecture dinterrupteurs et dcisions 3-19
-
Travail Pratique Introduciton aux Microprocesseurs
3. crire des Programmes en Assembleur
3.1 Information gnrale
3.1.1 Comptence vise crire un programme oprationnel en langage
assembleur.
3.1.2 Critres particuliers de performance: Utilisation adquate
des diffrents modes dadressage des instructions.
Dpannage efficace des problmes rencontrs dans un programme.
3.1.3 Dure du travail pratique: La dure de ce travail pratique
est de 9 heures
3.1.4 Matriel ncessaire par quipe: Systme Mod. E6809 et Logiciel
de gestion. Module dexprimentation Z1A. Ordinateur personnel IBM-AT
Circuits intgrs SN74244 et SN74374. Interrupteurs de type dip
switch, rsistances et LED. Pinces dnuder et fils #22. Oscilloscope
avec deux sondes.
3.1.5 Directives: Le travail se fait en quipe de deux
stagiaires. Le rle des formateurs est daider les stagiaires
atteindre les critres particuliers
de performance.
3.1.6 valuation: Ce travail pratique est formatif mais est quand
mme corrig par le formateur. Lorsque vous avez termin vos
expriences, faites vrifier le fonctionnement de
votre programme et remettez ce feuillet votre formateur qui en
fera la critique.
3.1.7 Points particuliers surveiller: Le stagiaire doit
sappliquer raliser des programmes fonctionnels et structurs. La
structure modulaire lui permettra de dpanner plus facilement ses
programmes. De plus, ces derniers doivent tre documents afin den
faciliter lanalyse.
Programmes en Langage Assembleur Page 3-1 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
3.2 Discussion Dans ce travail pratique, vous aurez vous
familiariser avec le dveloppement complet dune solution un problme,
laide dun programme en langage assembleur.
Le systme microprocesseur E6809 est dot d'un moniteur en mmoire
EPROM qui permet l'insertion de programmes directement en code
machine. Cette faon d'oprer a une grande importance lorsqu'on veut
enseigner aux stagiaires les principes de base du microprocesseur
et que les programmes que l'on dveloppe sont trs rduits. Quand les
applications sont plus complexes, il faudra crire les programmes en
langage assembleur (code mnmonique) et les transformer
automatiquement (pas manuellement) en code machine.
Pour cette raison, le systme microprocesseur E6809 est quip
d'une connexion avec l'ordinateur personnel. Les phases de
dveloppement d'une application deviennent donc les suivantes:
1 - crer un ordinogramme afin de structurer la solution; 2 -
crire un programme, en langage assembleur, dans l'ordinateur
personnel; 3 - transformer automatiquement le programme en code
machine au moyen d'un
programme d'assemblage; 4 - gnrer un programme excutable, avec
mmorisation requise par le E6809, au
moyen d'un diteur de liens; 5 - transferer un programme la
mmoire vive du systme microprocesseur E6809; 6 - exploiter un
programme dans le E6809 travers les comrnandes du moniteur; si
le
prograrnme ne fonctionne pas correctement, on repart de la phase
1 en introduisant les modifications ncessaires.
Afin d'obtenir ces performances, le systme microprocesseur E6809
est quip d'un logiciel systme d'exploitation MS-DOS, qui
inclut:
un logiciel principal de gestion; un assembleur pour le MC6809;
un diteur de liens pour le MC6809; un logiciel de communication; un
programme de gestion du programmeur d'EPROM.
Les sections suivantes dcrivent ces programmes de faon
dtaille.
ATTENTION ! On doit ajouter un NOP, juste avant le END, la fin
de chaque programme afin que le tranfert des donnes seffectue
correctement.
Programmes en Langage Assembleur Page 3-2 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
3.3 Logiciel de gestion Sur le disque de lordinateur personnel,
localisez le rpertoire du logiciel de gestion. Le nom de fichier de
ce logiciel est E6809.EXE. Le logiciel de gestion est initialis
avec la commande: E6809 Retour
ce moment-l, limage montre la Figure 3-1 apparat sur lcran.
SOF T WAR E DE VE L OP P E M E NT T OOL S f o r E 6 8 0 9
E DI T ORP r o g r a m e d i t i n g
68 0 9 ASSE M BL E RP r o d u c e s
M a c h i n e Co d ef r o m
M n e m o n i c s
P E RSONAL
COM P UT E R
M I C R O C O M P U T E R - T R A I N E R E 68 0 9
R A M M E M ORY E P ROM M E M OR Y
E P R O MP ROGR AM M E R
1
2
3
4
SE L E CT I ONS: 1 / 2 / 3 / 4 F 1 = Q UI T
Figure 3-1
Les possibilits de fonctionnement du logiciel de gestion sont
les suivantes:
1 - dition des programmes; 2 - Assembleur + diteur de liens; 3 -
Transfert des programmes au rnicroprocesseur E6809; 4 - Gestion du
programmeur d'EPROM.
Programmes en Langage Assembleur Page 3-3 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
3.3.1 dition des programmes Aprs avoir slectionn loption #1,
vous verrez lcran la Figure 3-2.
P r o g : p r o v a E D I T A S S E M B L E R P R O G R A M
S
T h e p r o g r a ms i n Asse mb l e r l a n g u a g e c a n b e
wr i t t e n wi t h a n o r ma l Wo r d P r o c e ssi n gl i k e
:
; sq u a r e - wa v e wi t h D/ A c o n v . - E DI T M S- DOS E
d i t P r o g r a m ORG 0 20 0 H ST AR T : L DB # $ 0 0 o u t 0 -
WORD- ST AR Wo r d P r o c e ssi n g f r o m M i c r o P r o ST B $
1 8 0 0 L DA # 1 - WORD Wo r d P r o c e ssi n g f r o m M i c r o
so f t J SR $ F 8 0 0 wa i t
L DB # $ F F o u t 8 Yo u c a n q u i t t h i s p r o g r a m a
n d r u n y o u r Wo r d ST B $ 1 8 0 0P r o c e sso r ( F 2 ) . L
DA # 1Yo u c a n r u n t h e DOS E DI T p r o g r a m t y p i n g F
3 . J SR $ F 8 0 0 wa i t J M P ST ART l o o pYo u c a n i n se r t
t h e p r o g r a m i n t h e wi n d o w o n t h er i g h t e n d o
f t h e sc r e e n . E NDT h i s p r o g r a m i s st o r e d i n t
h e f i l e : P R OVA. ASM
( T h e e x t e n si o n . ASM i s r e q u i r e d b y t h e a
sse m -b l e r p r o g r a m) .
SE L E CT I ONS: F 2 = e x i t t o DOS F 3 = r u n E DI T F 4 =
P r o g r a m n a me F 1 = Q UI T
Figure 3-2
On peut employer nimporte quel diteur de texte ASCII pour
lcriture des programmes.
Loption F3 slectionne automatiquement lditeur du MS-DOS qui est
trs appropri cette tche.
Loption F4 permet de changer le nom du fichier et ne doit pas
tre accompagn dun extension.
Rsum des options:
F2 = retour au MS-DOS F3 = appel de lditeur du MS-DOS F4 = pour
changer le nom du fichier
Programmes en Langage Assembleur Page 3-4 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
3.3.2 Assembleur & diteur de liens Aprs avoir choisi loption
#2 du menu principal du programme de gestion, vous verrez lcran une
page vido comme le montre la Figure 3-3.
P r o g : p r o v a U S I N G 6 8 0 9 A S S E M B L E R
T o g e n e r a t e t h e 68 0 9 m a c h i n e c o d e f r o m
Asse mb l e r L a n g u a g e , n o r ma l l y y o u h a v e t od o
t wo o p e r a t i o n s:
ASSE M BL I NG: T o a sse mb l e y o u r p r o g r a m si mp l y
t y p e F 3 ; T h e a sse mb l e r r e a d s t h e f i l e wi t h .
ASM e x t e n si o n a n d g e n e r a t e s a . OBJ f i l e a n d
a . L ST f i l e wi t h t h e l i st o f t h e p r o g r a m. Use a
n y e d i t o r p r o g r a m t o l o o k a n d t o p r i n t t h e
. L ST f i l e .
L I NK I NG: T o l i n k y o u r p r o g r a m si mp l y t y p e
F 4 ( o r F 5) ; - F 4 p r o d u c e s a n E XE f i l e t h a t c o
n b e t r a n sf e r r e d t o E 68 0 9 - F 5 p r o d u c e s a n
HE X ( i n t e l ) f i l e f o r E p r o m p r o g r a mme r
F 2 = DOS F 3= Asse mb l e r F 4 = L i n k ( E XE ) F 5= L i n k
( HE X) F 6= P r o g . Na m e F 1 = QUI T
Figure 3-3
partir de cette page vido, il est possible dappeler directement
lassembleur et lditeur de liens du 6809.
Lassembleur F3 transforme le code mnmonique en code machine et
gnre, partir du fichier source, deux autres fichiers dont un avec
lextension .LST pour le liste du programme assembl et lautre, avec
lextension .OBJ ncessaire lditeur de liens.
Lditeur de liens F4 gnre le programme final .EXE. On trouve dans
ce fichier tous les codes machines de notre programme; cest le code
excutable que lon transfert au systme Mod. E6809. Lditeur de liens
se sert du fichier .OBJ gnr par lassembleur.
Par loption F5, on appel encore lditeur de liens pour gnrer le
fichier .EXE dans un format Intel compatible avec le programmeur de
EPROM. Ce fichier peut tre visualis facilement sur cran puisque les
codes contenus dans ce fichier sont sous la forme ASCII.
Rsum des options:
F2 = Retour MS-DOS F3 = Assembler le fichier source, gnre les
fichiers .OBJ et .LST F4 = Appeler lditeur de liens, gnrer le
fichier pour le module E6809 F5 = Appeler lditeur de liens, gnrer
le fichier pour le programmeur F6 = pour changer le nom du
fichier
3.3.3 Transfert de programmes au systme Mod. E6809 Voici lcran
qui apparat lorsque vous slectionnez cette option.
Programmes en Langage Assembleur Page 3-5 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
P r o g : p r o v a T R ANSF E R P R OGRAM S BE T WE E N E 68 0
9 AND I BM P E RSONAL COM P UT E R
Wi t h t h i s p r o g r a m i t i s p o ssi b l e t o t r a n
sf e r p r o g r a ms b e t we e n t h e E 68 0 9 M i -c r o c o mp
u t e r T r a i n e r a n d a n I BM c o m p a t i b l e P C.
COM P UT E R E 68 0 9T h e R S- 232 se r i a l i n t e r f a c e
i s u se d t o c o n n e c tt h e t wo d e v i c e s. T h e c o n n
e c t i o n mu st b e d o n e T XD 2 3 RXDa s i n d i c a t e d i n
t h e f i g u r e . RXD 3 2 T XDNo w y o u c a n : RT S 4 5 CT
S
GND 7 7 GND T R ANSF E R P R OGRAM S T OWARD T HE E 68 0 9 CT S
5 4 R T SYo u m u st se t t h e M CZ - 8 0 f o r d a t a r e c e p
t i o n wi t h DSR 6 8 DCDt h e c o mma n d : DO F C A 0 DT R 20 a
n d t h e n y o u m u st se l e c t , o n t h e P C, t h e p r o -g
r a m y o u wa n t t o t r a n sf e r .T h e p r o g r a m i s l o
a d e d o n t h e E 68 0 9 st a r t i n g f r o m a d d r e ss : 0
2 0 0 H.
T R ANSE R P ROGRAM S F ROM E 68 0 9 T O T HE P . C.Yo u m u st
se t t h e P e r so n a l Co m p u t e r f o r d a t a r e c e p t
i o n sp e c i f y i n g t h e n a me o ft h e f i l e f o r d a t
a . T h e n y o u mu st g i v e t h e f o l l o wi n g c o mma n d
o n t h e M CZ 8 0 : DO F C C 0T h e d a t a f r o m 0 20 0 H t o 0
7 F F H a r e t r a n sf e r r e d t o t h e P . C. .
T = t r a n sm i ssi o n t o E 68 0 9 R= r e c e i v i n g f r o
m E 68 0 9 F 6= P r o g . Na me F 1 = Q UI T
Figure 3-4
On peut transfrer directement les programmes au systme Mod.
E6809 en connectant un cble entre le port srie COM1 de lordinateur
personnel et le port srie du systme Mod. E6809. Le cble connexion
est fourni avec le systme.
La vitesse de transmission utilise est 9600 baud. Il faut donc
rgler la slection par le cavalier J30/31 du module cette
vitesse.
On peut galement transfrer les donnes contenues dans la mmoire
vive du systme Mod. E6809 un fichier de lordinateur personnel.
Pour transmettre un fichier du PC au systme Mod. E6809, excutez
la commande DO FCA0 sur le systme Mod. E6809 et ensuite appuyez sur
la cl T de lordinateur personnel. Mme si la vitesse de transmission
dun code est lev, le transfert dun fichier est relativement long
cause dun dlai insr entre les codes envoys ( 80ms).
Pour recevoir un fichier provenant du systme Mod. E6809, appuyez
sur la touche R de lordinateur personnel et ensuite excutez la
commande DO FCC0. Le contenu des adresses mmoires $0200 $06FF est
envoy lordinateur personnel.
Rsum des options:
T = Transmission du fichier excutable au systme Mod. E6809. R =
Rception dun fichier binaire provenant du systme Mod. E6809. F6 =
Identifie le du fichier que lon dsire utilis.
Programmes en Langage Assembleur Page 3-6 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
3.3.4 Connexion avec le Programmeur d'EPROM. Les programmes que
l'on dveloppe peuvent tre transfrs au programmeur d'EPROM pour
crire dfinitivement ceux-ci dans une mmoire non volatile.
Cette mmoire peut tre insre ensuite dans la fiche libre du
systme E6809 pour lemploi immdiat des programmes.
On signale que les adresses de la mmoire EPROM de lusager USER
EPROM sont comprises entre $E000 et $EFFF et que les programme s
doivent tre prdisposs pour ces adresses avant d'tre transfres.
Le programmeur d'EPROM emploie normalement le protocole HEX
Intel pour le transfert des donnes et, par consquent, les
programmes doivent tre gnrs par l'diteur de Liens en utilisant
cette option.
Lorsqu'on a dj initialis le programme de gestion du Programmeur
d'EPROM, on slectionne l'option:
3 - Transmit;
et aprs on spcifie le nom du fichier transmettre.
Programmes en Langage Assembleur Page 3-7 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
3.4 Assembleur 6809 Lassembleur est mis en marche par le
programme E6809.
Si vous utilisez lassembleur partir de MS-DOS, il faut
simplement donner la commande suivante:
A6809 NomProg.ASM NomProg.OBJ -dx; puis, pressez la touche
Retour
Lassembleur traduit les mnmoniques en code machine et gnre les
fichiers:
NomProg.OBJ qui est le fichier ncessaire lditeur de liens;
NomProg.LST qui est la liste assemble du programme, le listing.
3.4.1 Syntaxe de lassembleur
Les chiffres
Lassembleur interprte par dfaut les chiffres en base 10. Pour
utiliser dautres bases, il faut ajouter les suffixes suivants aprs
le chiffre.
B binaire O octal D dcimal H hexadcimal
Les chiffres hexadcimaux peuvent tre marqus aussi par le prfixe
$ (ex: $F800).
Caractres
Une chane de caractres peut tre spcifie de deux faons
diffrentes:
chane de caractres; chane de caractres.
Commentaires
Une ligne de commentaire doit avoir un * ou un ; dans la premire
colonne.
tiquettes
Les tiquettes sont sensibles aux lettres minuscules et
majuscules. Elles ont une longueur de 32 caractres au maximum. Si
elles se terminent avec un : , elles peuvent commencer nimporte
quelle colonne, sinon il faut les insrer partir de la premire
colonne.
Programmes en Langage Assembleur Page 3-8 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
3.4.2 Directives de lassembleur ASCII introduit une chane de
caractres; Ex: ASCII chane
BLKB rserve un certain nombre doctets pour y mmoriser une
valeur; Ex: BLKB size, value BLKB 10,$AA
BLKL rserve un certain nombre de mots 32 bits pour y mmoriser
une valeur; Ex: BLKL size, value BLKL 5,$0011FFFF
BLKW rserve un certain nombre de mots 16 bits pour y mmoriser
une valeur; Ex: BLKW size, value BLKW 5,$FFFF
BYTE mmorise des valeurs 8 bits dans des emplacements de mmoire
contigus; Ex: BYTE 1,$FF,$00 ou: DB $0F
WORD mmorise des valeurs 16 bits dans des emplacements de mmoire
contigus; Ex: WORD $0F0F ou: DEFW $AAAA ou: DW $0000
END dfinit la fin du programme, cette directive doit tre
toujours prsente. Placer galement un NOP juste avant cette
instruction.
ORG tablit ladresse initiale pour la transformation du programme
en code machine;
EQU associe une tiquette une valeur spcifie. Ex: START EQU
$F000
EXTERNAL spcifie que ltiquette a t dfinie dans un autre
programme; Ex: EXTERN LABEL1, LABEL2
LIST commence la gnration dune liste dune section du
programme;
NOLIST termine la gnration dune section de la liste du
programme;
PAGE insre un saut de page dans la gnration de la liste du
programme;
PL tablit la longueur de la page: Ex: PL 66
PW tablit la largeur de la page: Ex: PW 80
Programmes en Langage Assembleur Page 3-9 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
3.5 Montage dun interface dentre/sortie Vous allez ajouter
directement sur le bus de donnes du microprocesseur deux circuits
logiques dans le but de raliser un interface dentre/sortie. Le
circuit SN74374 est utilis comme port de sortie tandis que le
circuit SN74244 sert de port dentre.
Utilisez les plaquettes de montage disponibles avec le Module
Z1A afin de raliser le prototype de linterface dentre/sortie tel
que montr la Figure 3-5.
Le dispositif de sortie est activ par le signal /C. Ce signal
provient du dcodeur dadresse et rpond aux adresses $2000 $2FFF. Le
microprocesseur pourra donc envoyer des donnes au dispositif,
celui-ci devra les mmoriser de faon stable jusqu ce que de
nouvelles donnes lui soient achemines.
Le dispositif dentre est activ par le signal /D. Ce signal
provient aussi du dcodeur dadresse et rpond aux adresses $3000
$3FFF. Le microprocesseur pourra donc lire des donnes logiques
provenant du dispositif.
3.5.1 Vrification du dispositif de sortie Pour vrifier le
fonctionnement du circuit, crivez un programme qui envoie le code
$FF sur le port de sortie pour teindre tous les voyants. Dbutez le
programme ladresse $02A0. Le programme se termine par un retour au
moniteur laide dun branchement inconditionnel ladresse $F000.
ADR. CODES MNMONIQUE
02A0
crivez un programme qui envoie le code $00 pour allumer tous les
voyants. Dbutez le programme ladresse $02C0. Le programme se
termine par un retour au moniteur laide de linstruction.
ADR. CODES MNMONIQUE
02C0
Programmes en Langage Assembleur Page 3-10 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
3.5.2 Schma lectrique du dispositif dentre/sortie
10K
10K
10K
10K
10K
10K
10K
10K
+5v
9753
12141618
111315178642
74244IC1
1 19
20 10+5v
3478
13141718
256912151619
74374IC2
20
1 10
+5v
11
470R
470R
470R
470R
470R
470R
470R
470R
+5v
D0
D1
D2
D3
D4
D5
D6
D7
C
D
Figure 3-5
Programmes en Langage Assembleur Page 3-11 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
3.6 Exercices Les prochains exercices utilisent le dispositif
dentre/sortie. Les programmes crer permettent de lire des
interrupteurs branchs sur les entres et de contrler les voyants
installs sur les sorties.
3.6.1 Exercice #1, Compteur binaire Le but de cet exercice est
de se familiariser avec le dveloppement de programme en langage
assembleur. Il faudra:
crer le programme source; assembler le programme source;
identifier les fichiers gnrs par lassemblage; brancher le PC la
carte cible par le cble de communication srie; transfrer le
programme objet; vrifier le fonctionnement du programme.
Crer le fichier source
Vous pouvez crer le fichier source avec un diteur de texte
ASCII. Le programme de gestion E6809 utilise par dfaut lditeur de
MS-DOS. diter le programme suivant:
*******************************************************************
* fichier: COUNT.ASM * Ce programme fait un compteur binaire * sur
le dispositif de sortie install sur le module Z1A. * Le compteur
est ralenti par un sous programme de dlai * disponible dans la
mmoire morte du systme. * Quitter le programme par la touche reset.
* DELAI EQU $F800 OUTPUT EQU $2000 ORG $0200 dpart du programme
DEBUT CLRB initialise la valeur de depart CONTINU STB OUTPUT
ecriture sur le port INCB incrmente le compteur LDA #10 delai de 10
* 0.1s = 1 sec. JSR DELAI appel du sous programme JMP CONTINU
boucle sans fin. NOP
Sauvegardez votre programme et quitter lditeur afin de revenir
au menu principal du programme de gestion.
Slectionnez loption #2 du menu principal, on peut, dans ce menu,
appeler lassembleur ou lditeur de liens.
Assurez-vous que le nom de votre fichier est le bon, sinon
corrigez le nom du fichier par la touche F6.
Faites lassemblage du fichier source laide de la touche F3.
Programmes en Langage Assembleur Page 3-12 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
Questions:
#1 Nommez les deux fichiers produits par lassemblage du fichier
source.
rponse: ____________________ et ____________________
#2 Lequel des deux fichiers sert lditeur de liens?
rponse: ____________________
#3 Lequel des deux fichiers reprsente le listing du
programme?
rponse: ____________________
Appel de lditeur de liens
On peut appeler lditeur de liens partir du mme menu que
lassembleur. Le module E6809 utilise le programme objet dans sa
forme la plus lmentaire, cest--dire, le code machine. Ce fichier
excutable est gnr par lditeur de liens. Attention, lditeur de liens
peut gnrer deux versions diffrentes, une compatible avec le module
E6809 et lautre, avec le programmeur de EPROM. Il faut donc choisir
parmi ces deux formats celui qui convient.
Question:
#1 Quelle touche du menu Assembleur doit-on utiliser pour
obtenir le fichier excutable compatible avec le module E6809?
Rponse: ____________________
#2 Dans quelle situation avons-nous besoin du fichier dans le
format intel? Rponse:
______________________________________________________________
______________________________________________________________
______________________________________________________________
Programmes en Langage Assembleur Page 3-13 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
Transfert du programme
Heureusement, on peut transfrer le programme excutable de
lordinateur personnel au systme Mod. E6809. Il faut utiliser un
cble reliant le port srie de lordinateur personnel au port srie du
systme pour tablir la communication. La procdure suivante vous
permet de raliser le transfert du programme.
1 - Branchez le cble de communication srie. 2 - Choisissez
loption #3 du menu principal du programme de gestion. 3 -
Assurez-vous que le nom du programme affich dans le coin suprieur
gauche de
lcran correspond au programme que vous voulez transfrer. Sil ne
correspond pas, modifiez le nom du fichier avec loption
F6=Prog.Name.
4 - Placez le systme Mod. E6809 en mode rception dun fichier par
la commande DO FCA0; cette commande permet lexcution dun programme
de communication.
5 - Pressez la touche T du clavier de lordinateur personnel pour
que celui-ci transfert vers le systme E6809, le fichier excutable.
On retrouve les codes machines du programme ladresse $0200 dans la
mmoire du systme E6809.
Excution et mise au point du programme
Faites excuter le programme. Si le programme ne fonctionne pas,
transfrez nouveau votre programme avant de tenter de dpanner le
programme. Il est probable quun code de votre programme est t
modifi et quil ne soit plus utilisable. Cela vous assure de
travailler sur le dpistage du problme avec un programme qui nest
pas altr. Utilisez la technique du point darrt et le mode pas pas
pour localiser lanomalie dans lvolution des registres du
microprocesseur et du mme coup linstruction fautive. Une fois que
lerreur est trouve, modifiez le fichier source et regnrez le
fichier .OBJ et .EXE; noubliez pas de transfrer la nouvelle version
du programme excutable au systme E6809.
Programmes en Langage Assembleur Page 3-14 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
3.6.2 Exercice #2, Gnrateur de frquence crivez un programme
ladresse $0200 qui fait un compteur de 8 bits sur les sorties du
dispositif. Le programme boucle continuellement et le compteur
compte le plus rapidement possible.
crivez votre fichier source avec lditeur; assemblez-le;
transfrez-le dans le module E6809; puis, vrifiez le fonctionnement
du programme.
TIQUETTE MNMONIQUE Opration Oprande
COMMENTAIRES
Vrifiez avec loscilloscope les signaux sur les sorties du
dispositifs.
Questions:
#1 Sur quelle broche du dispositif de sortie trouve-t-on la
frquence la plus leve? ________
#2 Sur quelle broche du dispositif de sortie trouve-t-on la
frquence la plus basse? _________
#3 Quel est le rapport de frquence entre ces deux signaux?
___________
#4 Quel rapport de frquence y a-t-il entre deux signaux
conscutifs (exemple: Q2 et Q3)?
Programmes en Langage Assembleur Page 3-15 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
3.6.3 Exercice #3, Lire et crire sur le dispositif dentre/sortie
crivez un programme pour lire les interrupteurs branchs sur le
circuit 74244 et transfrez le code lu sur le circuit 74374. Le
programme doit sexcuter continuellement jusqu ce que lon appuie par
la touche Reset.
crivez votre fichier source avec lditeur; assemblez-le;
transfrez-le dans le module E6809; puis, vrifiez le fonctionnement
du programme.
TIQUETTE MNMONIQUE Opration Oprande
COMMENTAIRES
Programmes en Langage Assembleur Page 3-16 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
3.6.4 Exercice #4, Onde carr 1 Hz Vous devez crer un programme
qui gnre sur le dispositif de sortie une onde carr 1 hertz sur le
bit 0. Les bits 1 7 sont maintenus un niveau logique 0. Vous pouvez
utiliser le sous-programme de dlai du EPROM. Le programme dbute
ladresse $0200 et se termine par la pression de la touche
reset.
Il est trs probable que la premire version de votre programme ne
fonctionne pas, cest normal! Avec la technique du point darrt, du
mode pas pas et de la visualisation des registres, trouvez lendroit
ou le programme cafouille. Une fois le problme localis, modifiez
votre programme source (fichier.ASM) et reprennez la procdure
dassemblage et le transfert du programme objet. Lorsque le
programme sera fonctionnel, transcrivez dans le tableau suivant
votre programme source.
TIQUETTE MNMONIQUE Opration Oprande
COMMENTAIRES
Demandez au formateur de vrifier votre travail.
Programmes en Langage Assembleur Page 3-17 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
3.6.5 Exercice #5, Chenillard crivez un programme qui produit un
chenillard sur les voyants. Au dpart le voyant sur le bit 7 est le
seul allum et le reste pendant 200ms puis steint. Au mme moment le
voyant sur le bit 6 sallume et steint 200ms plus tard. Le cycle se
rpte en effectuant un dcalage rotatif continu. Essayez de crer un
programme court et simple. La solution la plus simple prend six
instructions.
Rappel: Voici les instructions de dcalage logique et de
rotation. Une attention particulire doit tre donne au drapeau
Carry, puisque celui-ci est utilis dans les oprations de
dcalage.
C 7 6 5 4 3 2 1 0
C 7 6 5 4 3 2 1 0
ROL
ROR
0C 7 6 5 4 3 2 1 0
C7 6 5 4 3 2 1 00
LSL
LSR
TIQUETTE MNMONIQUE Opration Oprande
COMMENTAIRES
Programmes en Langage Assembleur Page 3-18 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
3.6.6 Exercice #6, Lecture dinterrupteurs et dcisions crivez un
programme qui fait un compteur binaire sur le dispositif de sortie.
Le programme doit lire les interrupteurs branchs sur le dispositif
dentre et excuter une tche correspondante la position des
interrupteurs. Le programme doit fonctionner continuellement jusqu
ce que linterrupteur sur le bit 7 soit 1. Les interrupteurs qui ne
sont pas utiliss doivent tre obligatoirement 0 pour que le compteur
volue. Le compteur doit avancer tous les 0,5 seconde.
Voici les modes de fonctionnement du programme:
bits # 7 6 5 4 3 2 1 0
effets des interrupteurs
0 0 0 0 0 0 0 0 compteur ascendant 0 0 0 0 0 0 0 1 compteur
descendant 1 0 0 0 0 0 0 x arrt du programme
Rappel:
Pour comparer deux valeurs, vous devrez utiliser linstruction
CMP, si les valeurs sont identiques le drapeau Z est mis 1. Par
contre, si les valeurs sont diffrentes, le drapeau Z est mis 0.
Vous aurez besoin de quelques instructions permettant des
branchements conditionnels. Par exemple, le branchement BEQ sexcute
si le drapeau Z est 1 tandis que le branchement BNE sexcute si le
drapeau Z est 0.
Parce que beaucoup dinstructions affectent les drapeaux, le
branchement conditionnel doit suivre immdiatement linstruction de
comparaison pour que le drapeau soit valide.
Programmes en Langage Assembleur Page 3-19 OFPPT/TECCART
-
Travail Pratique Introduciton aux Microprocesseurs
TIQUETTE MNMONIQUE Opration Oprande
COMMENTAIRES
Programmes en Langage Assembleur Page 3-20 OFPPT/TECCART
3. crire des Programmes en Assembleur3.1 Information gnrale3.1.1
Comptence vise3.1.2 Critres particuliers de performance:3.1.3 Dure
du travail pratique:3.1.4 Matriel ncessaire par quipe:3.1.5
Directives:3.1.6 valuation:3.1.7 Points particuliers
surveiller:
3.2 Discussion3.3 Logiciel de gestion3.3.1 dition des
programmesRsum des options:
3.3.2 Assembleur & diteur de liensRsum des options:
3.3.3 Transfert de programmes au systme Mod. E6809Rsum des
options:
3.3.4 Connexion avec le Programmeur d'EPROM.
3.4 Assembleur 68093.4.1 Syntaxe de lassembleurLes
chiffresCaractresCommentairestiquettes
3.4.2 Directives de lassembleur
3.5 Montage dun interface dentre/sortie3.5.1 Vrification du
dispositif de sortie3.5.2 Schma lectrique du dispositif
dentre/sortie
3.6 Exercices3.6.1 Exercice #1, Compteur binaireCrer le fichier
sourceQuestions:#1 Nommez les deux fichiers produits par
lassemblage du fichier source.#2 Lequel des deux fichiers sert
lditeur de liens?#3 Lequel des deux fichiers reprsente le listing
du programme?
Appel de lditeur de liensQuestion:#1 Quelle touche du menu
Assembleur doit-on utiliser pour obtenir le fichier excutable
compatible avec le module E6809?#2 Dans quelle situation avons-nous
besoin du fichier dans le format intel?
Transfert du programmeExcution et mise au point du programme
3.6.2 Exercice #2, Gnrateur de frquenceQuestions:#1 Sur quelle
broche du dispositif de sortie trouve-t-on la frquence la plus
leve? ________#2 Sur quelle broche du dispositif de sortie
trouve-t-on la frquence la plus basse? _________#3 Quel est le
rapport de frquence entre ces deux signaux? ___________#4 Quel
rapport de frquence y a-t-il entre deux signaux conscutifs
(exemple: Q2 et Q3)?
3.6.3 Exercice #3, Lire et crire sur le dispositif
dentre/sortie3.6.4 Exercice #4, Onde carr 1 Hz3.6.5 Exercice #5,
Chenillard3.6.6 Exercice #6, Lecture dinterrupteurs et dcisions