Royaume du Maroc
OFFICE DE LA FORMATION PROFESSIONNELLE ET DE LA PROMOTION DU TRAVAIL
Première Année
Programme de Formation des Techniciens Spécialisés en
Électronique
DIRECTION DE LA RECHERCHE ET INGENIERIE DE LA FORMATION
Septembre 1995
Module 11
Introduction aux Microprocesseurs
Résumé de Théorie
Télécharger tous les modules de toutes les filières de l'OFPPT sur le site dédié à la formation professionnelle au Maroc :
www.marocetude.com
Pour cela visiter notre site www.marocetude.com et choisissez la rubrique : MODULES ISTA
INTRODUCTION AUX MICROPROCESSEURS
RÉSUMÉ DE THÉORIE
Écrire un Programme Opérationnel en Assembleur
TECCART INTERNATIONAL 2000 inc.
3155, boul. Hochelaga,
Montréal, Québec (Canada)
H1W 1G4
RÉDACTION
Serge Leblanc
DESSINS ET CONCEPTION GRAPHIQUE
Serge Leblanc
RÉVISION TECHNIQUE
Pierre Asselin & Christian Lépine
RÉVISION LINGUISTIQUE
François Gaudreau
COMMISSION DE VALIDATION
Formateurs de l'OFPPT
Les droits de reproduction et de diffusion de ce document sont cédés par Teccart
International 2000 inc. à l’Office de la Formation Professionnelle et de la Promotion
du Travail du Royaume du Maroc, pour sa propre utilisation au Maroc.
Mis à part l’OFPPT, toute reproduction, en tout ou en partie, par quelque procédé
que ce soit, est interdite.
Mp_Rt2.Doc, imprimé à Montréal, le 18 avril 2017
TABLE DES MATIÈRES
2. ÉCRIRE UN PROGRAMME OPERATIONNEL EN ASSEMBLEUR 2-1
2.1 Les langages de programmation 2-1
2.2 La programmation d’un microprocesseur 2-2
2.3 Jeux d’instructions du 6809 2-3
2.4 Durée d’exécution d’un programme 2-4
2.4.1 Boucle de délai 2-4
2.5 Les champs d’un programme en langage assembleur 2-5
2.6 Comment rédiger un programme 2-6
2.6.1 Description de la tâche 2-6
2.6.2 Algorithme 2-6
2.6.3 Ordinogramme 2-6
2.6.4 Conseils pratiques pour la réalisation d’un ordinogramme 2-8
2.6.5 Exemple d’ordinogramme 2-8
2.7 Programmation structurée 2-9
2.7.1 Conseils pratiques pour l’écriture d’un programme en assembleur 2-9
2.7.2 Dépannage 2-10
2.7.3 Documentation 2-10
2.8 Modes d’adressage du 6809 2-11
2.8.1 Mode d'adressage immédiat 2-11
2.8.2 Mode d'adressage étendu (extended) 2-11
2.8.3 Mode d'adressage inhérent 2-11
2.8.4 Mode d'adressage direct 2-12
2.8.5 Mode d’adressage indirect 2-12
2.8.6 Mode d'adressage indexé 2-13
2.9 Pointeur de pile 2-15
2.9.1 Instructions manipulant les piles 2-15
2.9.2 Mouvement du pointeur de la pile 2-16
2.9.3 Contenu de la pile: 2-16
2.9.4 Ordres d'empilement et de dépilement. 2-16
2.9.5 Exemple de programme utilisant la pile 2-17
2.9.6 Observations sur le fonctionnement de la pile 2-18
2.10 Exercices 2-19
Résumé de Théorie Introduction aux Microprocesseurs
Programmer en Assembleur page 2-1 OFPPT/TECCART
2. Écrire un Programme Opérationnel en Assembleur
2.1 Les langages de programmation
Il existe plusieurs langages de programmation; toutefois, le langage machine est le seul
compris par les microprocesseurs et est incontestablement le plus rapide à exécuter. Le
langage assembleur permet d’utiliser des mnémoniques pour remplacer les codes
machines difficiles à interpréter. Les langages évolués bénificient de librairies de
fonctions rendant la programmation plus simple à développer.
NOM
EXEMPLE DE
PROGRAMME
PROGRAMME DE
TRADUCTION
EN MACHINE
LANGAGE
MACHINE
En binaire:
10100101
01100000
01100101
01100001
10000101
01100010
En hexadécimal:
A5
60
65
61
85
62
Hexadecimal Loader
- accepte les codes
hexadécimaux
- les traduit en binaire
- les place en ordre dans
la mémoire
LANGAGE
ASSEMBLEUR
LDA $60
ADC $61
STA $62
ASSEMBLEUR
- accepte les
mnémoniques
- les traduit en binaire
- les place généralement
dans un fichier
LANGAGE DE
HAUT NIVEAU
- Basic
- C
- Pascal
- ...
En BASIC:
PRINT Allo
N=PEEK(96)
POKE 98,N END
INTERPRETEUR
- traduit et exécute le
programme ligne par
ligne.
COMPILATEUR:
- traduit tout le
programme en machine
avant de l'exécuter.
Résumé de Théorie Introduction aux Microprocesseurs
Programmer en Assembleur page 2-2 OFPPT/TECCART
2.2 La programmation d’un microprocesseur
Pour commencer, définissons ce qu'est un programme. On peut dire simplement qu'un
programme est une suite logique d'instructions dont l'objectif est de produire un
comportement désiré de la machine. Tous les microprocesseurs comprennent un seul type
de programme; c'est le programme machine appelé aussi programme binaire ou objet.
Voici un programme objet exécutable par un MC6809:
code binaire
fonction
instruction
1000 0110
opcode
1ère instruction
0101 1010
opérande
1011 0111
opcode
2ème instruction
0000 0001
opérande
0000 0000
opérande
0011 1111
opcode
3ème instruction
Figure 2-1 Programme objet (binaire)
Le terme opcode signifie operational code ou code d'opération. Ce code représente un
ordre donné au microprocesseur. Lorsqu'une opérande est présente, elle suit toujours
l'opcode et représente, soit une valeur immédiate ou réelle ou une adresse vers laquelle le
microprocesseur doit communiquer. Il est toutefois possible que l'opérande ne soit pas
requise s'il s'agit d'opération interne du microprocesseur (mode inhérent).
Comme vous le remarquez, la représentation du programme sous la forme binaire est
difficile à comprendre et c’est pour cette raison qu’elle n'est pas utilisée. Pour améliorer
la situation, on peut utiliser la représentation hexadécimale. Cela permet de diminuer les
erreurs lors de l'entrée du programme en mémoire, parce qu’il y a moins de touches à
appuyer.
Le même programme sous la forme hexadécimale:
code hexadéc.
fonction
instruction
86
opcode
1ère instruction
5A
opérande
B7
opcode
2ème instruction
01
opérande
00
opérande
3F
opcode
3ème instruction
Figure 2-2 Programme objet (hexadécimal)
On peut très vite conclure que le programme objet, même transformé en hexadécimal,
n'est pas très commode car il est difficile, pour un humain, d'interpréter ce que fera celui-
ci. Dans le but de faciliter la compréhension du programme, on va associer à chaque
instruction une mnémonique qui est une représentation de l'instruction sous la forme d'un
mot court qui, habituellement, est descriptif et plus facile à mémoriser.
1 / 27 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !