Etude d'un assembleur pour 68hc12 en c

Disponible uniquement sur Etudier
  • Pages : 10 (2419 mots )
  • Téléchargement(s) : 0
  • Publié le : 7 décembre 2010
Lire le document complet
Aperçu du document
Projet informatique de 1ere année :
Etude d’un assembleur pour le microcontrôleur 68HC12

Groupe I

Encadrant : Gabriel Synnaeve

Sommaire
I. Introduction 3
I.1. Objectif 3
I.2. Planning et répartition du travail au sein du groupe 3
II. La décomposition modulaire 5
III. Fonctionnalisé de chacun des modules 6
III.1. La fonction table_to_strucop 6
III.2. La fonctiondef_type_ope 6
III.3. La fonction table_to_structmachine 6
III.4. La fonction type_adressage 7
III.5. La fonction valeur_immediate 8
IV. Méthode, évaluation et problème rencontrés 9
IV.1. Méthode et évaluation 9
IV.2. Problèmes rencontrés 9
V. Conclusion 10

Introduction
Objectif

L’objectif de ce projet est de réaliser sous Unix, en langage C ANSI, un logiciel assembleurpour le microprocesseur du 68HC12. Le rôle d’un logiciel assembleur est de traduire un programme décrivant une séries d’instructions destinées au microprocesseur écrit dans un langage informatique accessible à l’homme, le langage assembleur, en un programme décrivant la même série d’instructions dans un langage accessible à la machine, le code machine (code hexadécimal).

Le logiciel assembleurdemandé est un assembleur deux passes. A la première passe, l’assembleur génère à partir du fichier source une liste chaînée des instructions et une table des symboles décrivant la correspondance entre les étiquettes et leur valeur. Ceci permet donc, lors de la seconde passe d’associer à chaque opérande sa valeur. Ainsi, le code machine peut être généré et écrit dans deux fichiers texte : lefichier listing et le fichier s19.

Pour réaliser ce projet, nous disposons d’une base de départ proposée par les enseignants à laquelle nous ajoutons divers modules. Ce rapport est donc composé, dans un premier temps du planning et de la répartition du travail au sein de notre groupe d’étudiant. Une seconde partie est consacrée à la description de la décomposition modulaire. Ces modules sont décritsen troisième partie. Enfin, la dernière partie expliquera notre méthodologie de test systématique de chacun des modules.

Planning et répartition du travail au sein du groupe

Au début du projet, les deux premières séances, nous avons décidé de travailler sur le même support afin de mieux comprendre le projet et de pouvoir démarrer sur une même base. Nous avons donc réalisés les premièresfonctions les plus importantes ensemble, et plus particulièrement la fonction table_to_strucop qui sera expliquée par la suite. Ensuite nous avons séparé le groupe en deux afin de progresser plus rapidement dans le projet. Alexandre et Sylvain se sont penchés sur la fonction qui gère les modes d’adressages : type_adressage tandis que Thibaut s’est occupé de la définition des types d’opérations(mnémonique, directive …)
Par la suite, nous nous sommes concentrés sur le rendu du Lundi 24 mai. Pour cela, Sylvain a réalisé la fonction qui rempli un machine_coding tandis qu’Alexandre et Thibaut on continués les différents modes d’adressages.
Séances | Prévisionnel | Répartition du travail |
Mardi 27/04, 9h – 12h | Fonctions de base : - gestion des mnémoniques | Alexandre, Sylvain,Thibaut : Table_to_strucop |
Mercredi 05/05, 14h – 17h | - définition du type d’opération - gestion des différents modes d’adressage | Thibaut : type_ope Alexandre, Sylvain : type_adressage |
Mercredi 12/05, 14h – 17h | Première passe - gestion du codage des différentes instructions : machine_coding | Thibaut, Alexandre : gestion des types d’adressages dans le machine_coding Sylvain :gestion du machine_coding Sylvain, Thibaut : Gestion et affichage du .lst au terminal |
Mercredi 19/05, 14h – 17h | | |
Lundi 24/05 | Réalisation et remise de la 1ere partie du projet par email | |
Mercredi 02/05, 14h – 17h | Deuxième passe | Alexandre, Sylvain : Finalisation de la première passe et test avec différents mode d’adressage Mise en commun des différents programmes...
tracking img