You are on page 1of 23

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 Information gnrale 3.1.1 Comptence vise 3.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 Discussion 3.3 Logiciel de gestion 3.3.1 dition des programmes 3.3.2 Assembleur & diteur de liens 3.3.3 Transfert de programmes au systme Mod. E6809 3.3.4 Connexion avec le Programmeur d'EPROM. 3.4 Assembleur 6809 3.4.1 Syntaxe de lassembleur 3.4.2 Directives de lassembleur 3.5 Montage dun interface dentre/sortie 3.5.1 Vrification du dispositif de sortie 3.5.2 Schma lectrique du dispositif dentre/sortie 3.6 Exercices 3.6.1 Exercice #1, Compteur binaire 3.6.2 Exercice #2, Gnrateur de frquence 3.6.3 Exercice #3, Lire et crire sur le dispositif dentre/sortie 3.6.4 Exercice #4, Onde carr 1 Hz 3.6.5 Exercice #5, Chenillard 3.6.6 Exercice #6, Lecture dinterrupteurs et dcisions

3-1
3-1 3-1 3-1 3-1 3-1 3-1 3-1 3-1 3-2 3-3 3-4 3-5 3-5 3-7 3-8 3-8 3-9 3-10 3-10 3-11 3-12 3-12 3-15 3-16 3-17 3-18 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

o r

E 6 8 0

E DI T OR P r o g r a m e d i t i ng

P E RSONAL

COM P UT E R 68 0 9 ASSE M BL E R Pr oduces M a c h i n e Co d e f r om M ne mo ni c s

E P R O M P ROGR AM M E R

2 3

R A M M I SE L E CT I ONS: 1 /

M E M ORY

E P ROM M E M OR Y T R A I N E R E 68 0 9 F 1 = QUI T

C R O C O M P U T E R 2 / 3 / 4

Figure 3-1

Les possibilits de fonctionnement du logiciel de gestion sont les suivantes: 1234dition des programmes; Assembleur + diteur de liens; Transfert des programmes au rnicroprocesseur E6809; 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.
Pr og : pr ova E D I T A S S E M B L E R l a ng u a g e ca n be P R O G R A M S n o r ma l Wo r d P r o c e ssi n g

T h e p r o g r a ms i n Asse mb l e r lik e:

wr i t t e n wi t h a

E DI T WORD- ST AR WORD

M S- DOS E d i t

Pr og r a m f r o m Mi c r o P r o f r o m M i c r o so f t

Wo r d P r o c e ssi n g Wo r d P r o c e ssi n g

; sq u a r e - wa v e wi t h D/ A c o n v . ORG 0 20 0 H ST AR T : L DB # $ 0 0 ou t 0 ST B $ 1 8 0 0 L DA # 1 J SR $ F 8 0 0 wa i t L DB # $ F F ST B $ 1 8 0 0 L DA # 1 J SR $ F 8 0 0 J M P ST ART E ND out 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 un y our Wo r d P r o c e sso r ( F 2 ) . Yo 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 . Yo 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 e r i g h t e n d o f t h e sc r e e n . T 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 l e r p r o g r a m) . SE L E CT I ONS: F2 = e x i t t o DOS by the a sse m -

wa i t l oop

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.
Pr og : pr ova U S I N G code 6 8 0 9 A S S E M B L E R L a ng u a g e , n o r ma l l y y ou h a ve to

T o g e n e r a t e t h e 68 0 9 d o t wo o p e r a t i o n s:

ma c h i ne

f r o m Asse mb l e r

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

Pr og :

pr ova

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 9 Mi -

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 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 T 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 t t 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 ne T XD 2 a s i nd i c a t e d i n t h e f i g u r e . RXD 3 No w y o u c a n : RT S 4 GND 7 T R ANSF E R P R OGRAM S T OWARD T HE E 68 0 9 CT S 5 Yo 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 t 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, the pr og 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.

E 68 0 9 3 2 5 7 4 8 RXD T XD CT S GND RTS DCD

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 f the f i le f or da ta . 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 0 T 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 smi 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 NomProg.LST

qui est le fichier ncessaire lditeur de liens; 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 O D H binaire octal dcimal 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 BLKB BLKL BLKW BYTE introduit une chane de caractres; Ex: ASCII chane rserve un certain nombre doctets pour y mmoriser une valeur; Ex: BLKB size, value BLKB 10,$AA rserve un certain nombre de mots 32 bits pour y mmoriser une valeur; Ex: BLKL size, value BLKL 5,$0011FFFF rserve un certain nombre de mots 16 bits pour y mmoriser une valeur; Ex: BLKW size, value BLKW 5,$FFFF mmorise des valeurs 8 bits dans des emplacements de mmoire contigus; Ex: BYTE 1,$FF,$00 ou: DB $0F mmorise des valeurs 16 bits dans des emplacements de mmoire contigus; Ex: WORD $0F0F ou: DEFW $AAAA ou: DW $0000 dfinit la fin du programme, cette directive doit tre toujours prsente. Placer galement un NOP juste avant cette instruction. tablit ladresse initiale pour la transformation du programme en code machine; associe une tiquette une valeur spcifie. Ex: START EQU $F000

WORD

END ORG EQU

EXTERNAL spcifie que ltiquette a t dfinie dans un autre programme; Ex: EXTERN LABEL1, LABEL2 LIST NOLIST PAGE PL PW commence la gnration dune liste dune section du programme; termine la gnration dune section de la liste du programme; insre un saut de page dans la gnration de la liste du programme; tablit la longueur de la page: tablit la largeur de la page: Ex: PL 66 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. 02A0 CODES MNMONIQUE

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. 02C0 CODES MNMONIQUE

Programmes en Langage Assembleur

Page 3-10

OFPPT/TECCART

Travail Pratique

Introduciton aux Microprocesseurs

3.5.2 Schma lectrique du dispositif dentre/sortie


+5v
D

1 9 7 5 3 12 14 16 18

19 11 13 15 17 8 6 4 2

IC1 74244

20 10 +5v +5v 20
D0 D1 D2 D3 D4 D5 D6 D7 C

10K

10K

10K

10K

10K

10K

+5v 2 5 6 9 12 15 16 19
470R 470R 470R 470R 470R 470R 470R 470R

3 4 7 8 13 14 17 18 11

IC2 74374

10

Figure 3-5

Programmes en Langage Assembleur

Page 3-11

OFPPT/TECCART

10K

10K

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 CONTINU CLRB STB INCB LDA JSR JMP NOP initialise la valeur de depart ecriture sur le port incrmente le compteur delai de 10 * 0.1s = 1 sec. appel du sous programme boucle sans fin.

OUTPUT #10 DELAI CONTINU

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.

LSL 76543210 0 LSR 76543210 C

ROL 76543210

ROR 76543210

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 # 76543210 00000000 00000001 1000000x Rappel:

effets des interrupteurs compteur ascendant compteur descendant arrt du programme

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