Hamza

essay A+

Module 1 1 Introduction aux Microprocesseurs Résumé de Théorie 3 p g Télécharger tous les lières de I’OFPPT sur le site dédié à la formation professionnelle au Maroc : wvm’. 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) 2. 7 Programmation structurée 2. 7. Conseils pratiques pour l’écriture d’un programme en assembleur 2. 7. 2 Dépannage 2. 7. 3 Documentation 2. Modes d’adressage du 6809 2. 8. 1 Mode d’adressage immédiat 2. 8. 2 Mode d’adressage étendu (extended) 2. 8. 3 Mode d’adressage Inhérent 2. 8. 4 Mode d’adressage direct 2. 8. 5 Mode d’adressage indirect 2. 8. 6 Mode d’adressage indexé 2. 9 Pointeur de pile 2. 9. 1 Instructions manipulant les piles 2. 9. 2 Mouvement du pointeur de la pile 2. 9. 3 contenu de la Pile: 2. 9. 4 Ordres d’empilement et de dépilement. 2. 9. 5 Exemple de programme utilisant la pile 2. . 6 Observations sur le fonctionnement de la pile 2. 10 Exercices 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 PROGRAMM 23 programme appelé MONITEUR. ses fonctions: examiner et modifier le contenu des mémoires et des registres; il permet l’exécution partielle ou totale du programme LANGAGE ASSEMBLEUR LDA 360 ADC $61 STA $62 – accepte les mnémoniques – les traduit en binaire – les place généralement dans un fichier – le programme écrit sous forme mnémonique est appelé programme Source – il contient les champs: étiquette, mnémonique (instruction avec opérande) et commentaire.

LANGAGE DE HAUT NIVEAU – Basic -c – Pascal En BASIC: 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 equise 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 eest 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 opérande 87 2ème instruction 01 3ème instruction Figure 2 -2 Programme objet hexadécimal) On peut très vite conclure mme objet, même 4 23 carte de codification présente rensemble des instructions utilisables par le 6809.

La figure suivante montre comment décoder l’information sur cette carte de codification. Figure 2 -4 Carte de codification du 6809 Chaque colonne est numéroté et correspond à ce qui suit. Col. #1 Contient les instructions possibles pour le microprocesseur. Col. #2 Détermine si l’instruction opère avec la mémoire ou avec un registre; dans ce cas avec quel registre. Col. 4, 5, 6 et 7 Ces 5 colonnes représentent les 5 types de ase des modes d’adressages du microprocesseur: Immediat (opérande: une valeur) Direct (opérande. ne adresse de 8 b ts) Indexed (opérande: un registre pointeur) Extended (opérande: une adresse de 16 bits) nhérent (il n’y a pas d’opérande) Chacune de ces colonnes est subdivisée en 3 autres colonnes: Op (code d’opération de l’instruction) — (nombre de cycles de l’instruction) # (nombre d’octets de l’instruction) Col. 48 Cest une explication courte de ce que fait l’instruction. Col. #9 Cette section (5 colonnes) indique comment les drapeaux H, N, Z, V et C vont réagir à l’exécution de l’instruction.

Vous rouverez la légende des symboles, utilisés dans ces colonnes, sur la carte de codification à la suite des Instructions. 2. 4 Durée d’exécution d’un programme La durée d’exécution d’une instruction se calcule en tenant compte du nombre de cycles de l’instruction, multiplié par la période du cycle machine du microprocesseur. Dans le cas du microprocesseur 6809, la fréquence d’horloge déterminant la durée du cycle machine est égale à la fréquence du Crystal divisée par quatre. Par exemple, si la fréquence du Crystal du microprocesseur 6809 vaut 4 Mhz, alors la fréquence d’horloge (E ou Q) vaut:

Fréq. de E = Fréq. du s 3 microprocesseur 6809 vaut 4 Mhz, alors la fréquence dhorloge (E ou Q) vaut: Fréq. de E Fréq. du Crystal / 4 = 1 Mhz La durée d’un cycle machine est égale à la période de l’horloge (E ou Q) et vaut: Période de E = 1 / Fréq. de E = Ips Pour une instruction durant 5 cycles, le temps d’exécution est donc 5 fois le temps d’un cycle machine, c’est-à-dire 5 us. Le nombre de cycles de l’instruction se trouve dans les colonnes de la carte de codification du 6809 dont l’entête commence avec le signe — 2. . 1 Boucle de délai CODE MACHINE ETIQUETTE OPCODE OPÉRANDE NBR. DE CYCLES 86 05 LDA 2 ENCORE DECA 26 FD BNE 3 39 6 3 reg. A 0204 87 60 02 STA PORTB déposer le code du reg. A sur le port de sortie 0207 7E 02 01 JMP DEBUT le programme boucle sur lui-même END directive fin de programme pour l’assembleur ADRESSE: La progression des adresses dépend de la longueur en octets de l’instruction. CODE MACHINE: Ce sont les codes sous la forme hexadécimale correspondant ? l’instruction. On les trouve sur la carte de codification du MC6809. ?TIQUETTE: Ce sont des mots représentatifs qui servent de références. Elles remplacent des adresses ou des constantes. MNÉMONIQUE: Cest l’instruction complète incluant l’opération et l’opérande. OPERATION: C’est l’instruction de base. OPERANDE: Cest la donnée de l’instruction. Elle peut représenter une valeur, une adresse ou un registre. Certaines instructions n’utilisent pas d’opérande. COMMENTAIRE-: ce que le programme doit être capable de réaliser. La description de la tâche est au programme ce que la liste des spécifications est pour un appareil électronique quelconque.

Pour le programmeur, une bonne description de la tâche évitera l’ennui de devoir recommencer plusieurs fois la rédaction de ‘algorithme, de l’ordinogramme et du programme parce qu’on a oublié de considérer certaines options. Pour l’utilisateur, une bonne description de la tâche permettra de mieux exploiter le programme, tout en étant conscient de ces limites. 2. 6. 2 Algorithme L’algorithme est la description, étape par étape, des opérations ? effectuer sur un ensemble de données pour arriver aux résultats.

Ces données doivent avoir été bien définies dans la description de la tâche. Les différentes étapes sont ordonnées de façon séquentielle, c’est-à-dire comment elles se déroulent dans le temps. 2. 6. 3 Ordinogramme Un ordinogramme est une représentation graphique des étapes suivies par un programme. Cette façon d’illustrer la séquence logique des opérations a trois avantages: – facilite le codage ou l’écriture du programme; – facilite la compréhension du programme; – est utile pour le dépannage du programme.

Après le tracé de l’ordinogramme, il faut en vérifier le cheminement logique par des essais théoriques avec quelques données numériques avant d’écrire les instructions en détail. – Début ou fin d’un prog- ou d’un sous-prog- Début: contient le nom du prog. ou du sous-prog. Fin: contient le mot FIN pour un prog. t le mot RETOUR pour un sous-programme. – Traitement d’informatio décision. Sert à faire un branchement conditionnel. – Opération d’entrée/sortie comme lire, afficher, écrire . Renvoi. Utilisé pour diminuer le nombre de flèches ou éviter qu’elles se croisent.

Renvoi de page. – Sous-programme. Contient le nom du sous-programme. appelé aussi sous-routine. Utilisé pour écrire les remarques explicatives ou commentaires. – Flèche de direction du cheminement de l’information dans l’ordinogramme. 2. 6. 4 Conseils pratiques pour la réalisation d’un ordinogramme Ne jamais croiser les flèches. Utiliser les renvois pour réduire le nombre de flèches, s’il y en a trop, et pour éviter qu’elles se croisent. Autant que possible, donner à l’ordinogramme une structure linéaire, de haut en bas. Utiliser un gabarit ou un logiciel d’édition graphique.

Utiliser des noms courts e fs des variables qu’ils à solutionner, au début d’apparence très complexe, est remplacé par plusieurs petits problèmes beaucoup plus simples ? solutionner séparément. Il est donc recommandé de rédiger les programmes en incluant les sections suivantes: identification et titre du programme; description du programme; ection d’initialisation; programme principal; sous-programmes ou modules. La section d’initialisation décrit et initialise toutes les constantes et les variables utilisées dans le programme.

Un rapide coup d’oeil à cette section empêche d’utiliser le même symbole pour deux quantités différentes. e programme principal unit tous les sous-programmes et coordonne la suite d’exécution de ceux-ci. Il suffit donc de regarder cette section pour voir les grandes tâches qu’accomplira le programme. Chaque module ou sous-programme, appelé aussi sous-routine, est un petit bloc de programmation qui réalise une partie bien pécifique (formant toutefois un tout indépendant) de l’ensemble logique nécessaire à la résolution du problème.

Les avantages de la programmation structurée sont. la lisibilité; la facilité de compréhension par autrui; la rapidité dans la réalisation,’ la rapidité à dépanner; la facilité à modifier. Pour les programmes en langage ASSEMBLEUR, débutez toujours les sous-routines en fournissant les informations suivantes: une brève description de la sous-routine; un registre contenant les paramètres d’entrée,’ des registres contenant les aramètres de sortie; des registres affectés par 0 3