★ CODING ★ HEBDOGICIEL ★ COURS D'ASSEMBLEUR - HEBDOGICIEL n°107 ★ |
La page pédagogique d'hebdogiciel 107: Les Outils Logiciels | Coding Hebdogiciel |
FORMATION A L'ASSEMBLEUR PRATIQUE LANGAGE MACHINE SUR AMSTRADLa page pédagogique d'hebdogiciel : Formation à l'assembleur Je sens qu'à suivre ces cours d'assembleur, vous devenez petit à petit des professionnels du clavier et de la programmation. Durant ces nombreuses semaines, nous avons parcouru nombre de domaines concernant de près et de loin votre micro-ordinateur. Jusqu'à présent nous nous sommes penchés sur le fonctionnement de la machine autant d'un point de vue purement physique (hardware) que d'un point de vue programmation (software). Nous avons réussi a déterminer les avantages de certaines méthodes de programmation, fixant les prémisses d'une méthode générale d'écriture des algorithmes et d'une autre méthode de transformation de ces algorithmes en programmes exécutables par la machine. Vous êtes sans aucun doute fort capable de choisir le langage le plus approprié a votre application. Je n'ai pas encore évoqué les possibilités d'interaction entre les différents langages que vous pouvez pratiquer sur vos micro-ordinateurs , mais je me doute que vous avez déjà effectue des tentatives, à partir du Basic, d'appels de routines en langage machine. Pour vous permettre de vous dépatouiller de ces mélanges de langages, il est nécessaire de disposer d'un bon matériel pour travailler. Dans les quelques paragraphes suivants nous allons voir quels utilitaires sont précieux à un développement sans anicroche de vos propres créations logicielles. Il est bien entendu que votre système micro-informatique ne vous offre pas forcément l'ensemble des facilités de programmation qu'il serait souhaitable d'y trouver, mais voici les outils logiciels que vous devriez posséder pour votre machine. Certaines des définitions que vous allez trouver vous paraîtrons connues, mais elles seront rappelées ici pour offrir un panorama complet. L'assembleur est le programme qui traduit les instructions sous forme mnémonique en leur équivalent binaire. Il traduit normalement une Instruction symbolique en une instruction binaire (qui peut occuper 1, 2 ou 3 octets). Le code binaire résultant (le. code objet) est directement exécutable par le microprocesseur. En annexe, l'assembleur offre aussi un listing symbolique complet du programme ainsi que la liste des occurrences des symboles dans la liste et une table d'équivalence à utiliser par le programmeur. Le compilateur travaille d'une façon relativement similaire à l'assembleur puisqu'il traduit un langage évolué (Basic, Pascal, Api ou Ada) en un équivalent binaire compréhensible par la machine. Le compilateur travaille normalement comme l'assembleur et fournit au programmeur un ensemble de renseignements sur le traitement des variables, de la syntaxe et de la logique de programmation. L'interpréteur est un programme qui traduit, comme te compilateur, les instructions d'un langage évolue en instructions binaires. Dans le cas de l'interpréteur, les représentations intermédiaires de l'information ne sont pas conservées et les instructions sont exécutées immédiatement. En fait, la majorité des interpréteurs ne génèrent même pas de code intermédiaire et exécutent directement les instructions du langage évolué grâce à un codage binaire sur un octet des Instructions du langage. Le moniteur est le programme de base pour exploiter correctement les ressources hardwares de votre machine. Il surveille en permanence les organes d'entrée et gère l'ensemble des périphériques. Par exemple, imaginons que nous travaillions sur une carte comprenant un micro processeur, un clavier et des afficheurs UEO a segments. Le moniteur devra parcourir en permanence le clavier pour reconnaître l'instant d'une entrée au clavier par l'utilisateur, tout comme il devra gérer les afficheurs pour y envoyer l'information qui vient d'eue entrée au clavier. De plus il doit comprendre un ensemble d'instructions spéciales telles que DEPART, ARRET. CONTINUER. CHARGER EN MÉMOIRE, EXAMINER LA MÉMOIRE. Sur un système Informatique plus évolué que la carte ci-dessus, le moniteur est -parfois nommé programme executif, lorsqu'une gestion complexe des fichiers et une synchronisation des taches élaborées sont aussi présentes. L'ensemble de ces facilités d'emploi sont regroupées sous le nom de Système d'Exploitation, Dans le cas où les fichiers résident sur disquette ou disque dur, le système d'exploitation se nomme alors DOS ou SED (Disk Opeating System ou Système d'Exploitation Disque). L'éditeur est un programme conçu pour faciliter l'entrée et la modification de textes ou de programmes. Il offre un ensemble de commandes de manipulation du texte telles que l'insertion ou la suppression de caractères et de lignes, le mouvement de blocs à l'intérieur du texte, la recherche de chaînes de caractères... C'est une ressource importante pour le programmeur désireux d'organiser sa programmation d'une manière particulièrement claire. Le debugger (dévermineur en français, pour les puristes seulement) ouvre les portes à un ensemble de facilités de test de vos programmes. Lorsqu'un programme ne fonctionne pas, il est rare d'avoir une information précise sur la cause de ce disfonctionnement. Le programmeur dort alors insérer des points d'arrêt (Break Points) dans son programme pour en suspendre l'exécution à des adresses précises. Il pourra ainsi, à des points précis, examiner le contenu des registres ou de la mémoire. Cette option est la principale activité du debugger, mais il permet aussi de suspendre un programme, reprendre l'exécution, examiner, afficher et modifier le contenu des registres et de la mémoire. Un bon debugger propose d'autres fonctions telles que la possibilité d'examiner les données sous forme symbolique, hexadécimale, binaire ou toute autre représentation usuelle, ainsi que la possibilité d'entrer en mémoire des données sous n'importe laquelle de ces formes. Le chargeur au chargeur-éditeur de liens place les différents blocs du code objet dans les positions mémoire spécifiées et il ajuste leurs pointeurs symboliques respectifs de façon qu'ils puissent se référencer les uns les autres. Il sert aussi à reloger les programmes ou les blocs dans les zones-mémoire différentes. Un simulateur sert à simuler le fonctionnement d'un organe, généralement le microprocesseur, en son absence, lorsqu'on développe un programme sur un processeur simulé avant de le placer dans la mémoire d'un ordinateur possédant le processeur simule précédemment pour le développement. 1. Généralement il ne simule que le processeur proprement dit. pas les organes d'entrées/sorties.
|