CODINGHEBDOGICIEL ★ COURS D'ASSEMBLEUR - HEBDOGICIEL n°107 ★

La page pédagogique d'hebdogiciel 107: Les Outils LogicielsCoding Hebdogiciel
FORMATION A L'ASSEMBLEUR PRATIQUE LANGAGE MACHINE SUR AMSTRAD

La 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.
Cette approche de la programmation a l'aide d'un simulateur permet de suspendre le programme, de le modifier et de le garder en RAM, malheureusement ces avantages entraînent des inconvénients non négligeables :

1. Généralement il ne simule que le processeur proprement dit. pas les organes d'entrées/sorties.
2. La vitesse d'exécution frise le zéro absolu et on opère en temps simulé. Il n'est donc plus possible de réaliser une simulation en temps réel des différents organes de la machine . Il risque alors de subsister des problèmes de synchronisation lors du transfert sur le système Informatique définitif.

Hebdogiciel n°107

★ ANNÉE: 1985
★ AUTEUR(S): ???

Page précédente : La page pédagogique d'hebdogiciel 088 : Formation à l'assembleur

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding » La page pédagogique d'Hebdogiciel n°111: Basic et Langage Machine
» Coding » La page pédagogique d'hebdogiciel 146: Creation d'Une Routine
» Coding » La page pédagogique d'hebdogiciel 085
» Coding » La page pédagogique d'hebdogiciel 088 : Formation à l'assembleur
» Coding » La page pédagogique d'hebdogiciel 115 : Formation à l'assembleur - Logique ou Arithmetiques
» Coding » La page pédagogique d'hebdogiciel 123: La Mémoire
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 268 millisecondes et consultée 2063 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.