![]() ![]() ![]() |
Cette transformation appelée assemblage, qui s'établit selon des règles très précises et strictes, doit être réalisée dans des conditions qui ne le sont pas moins.
En effet, c'est le processeur va lire les instructions pour les exécuter, s'il en rencontre une dont le code binaire est invalide, il va générer l'interruption d'anomalie "ILLEGAL INSTRUCTION".
Le programme qui se charge de cette transformation est appelé un assembleur.
Mais sa mission ne s'arrête pas là, il doit également vérifier si le programme ne présente pas d'erreurs grossières (l'adressage d'un mot ou double mot à une adresse impair), de problème de syntaxe, si un label est utilisé plusieurs fois…
![]() ![]() ![]() |
En effet, celui-ci permet de corriger des erreurs de syntaxes, des oublis qui pourraient être fatals...
Mais attention, s'il peut vous indiquer des erreurs explicites (adressage d'un mot ou double mot à une adresse absolue impair), il n'est pas apte à vous interpeller si votre programme ne vous donnera pas satisfaction (fonction inopérante, plantage...).
Si vous ne comprenez pas les erreurs que vous affiche l'assembleur, venez vite trouver une solution grâce aux réponses aux erreurs les plus courantes.
![]() ![]() ![]() |
Au départ de l'informatique, les programmeurs codaient eux-même leurs programmes (sur des bandes perforées), car les combinaisons de mnémoniques et d'opérandes étaient forts peu nombreux.
Les temps changent... et l'informatique aussi !
De nos jours, les processeurs possèdent un panel de mnémoniques pour le moins impressionnant, sans compter les différentes tailles des données, les différents types d'opérandes et de mode d'adressage… ce qui donne au final un nombre gigantesque de codes binaires différents.
Il serait impossible de trouver (et surtout… de payer) un être humain capable de se souvenir du code de chaque instruction. Voilà pourquoi nous faisons appel à un assembleur dans lequel nous pouvons placer toute notre confiance… si il son fonctionnement est sans faille ;o)
Un exemple concret pour terminer, l'instruction RTS, qui est une instruction simple donc sur un mot, vaut en binaire 01001110 01110101 soit "Nu" en ASCII.
![]() ![]() |
En théorie ceci est réalisable mais dans la pratique, c'est dans sa forme la plus primaire que nous allons l'obtenir.
Pour simplifier nous aurions seulement les instructions et leurs opérandes, voire les labels (dont les noms seraient inconnus) et bien sure une absence totale de commentaires.
Zguide © 1998 - 1999 par Florian DREVET. Tous droits réservés