Manuel d`utilisation sommaire du désassembleur

publicité
Manuel d'utilisation sommaire du désassembleur
Possibilités
Voici un aperçu rapide des possibilités du désassembleur :
- Ouverture d'un fichier binaire (copie d'eprom) ou hexadécimal (paires de chiffres
séparées par des espaces).
- Format de source utilisant les directives d'origine de l'assembleur Alcyane.
- Possibilité de définir des blocs source, données hexadécimales, données de texte,
table d'indirection.
- Génération automatique d'une table des étiquettes qui peut être modifiée (ajout,
suppression, renommage).
- Fonction de recherche de texte dans le source.
- Enregistrement du fichier source, de la liste des étiquettes et de la liste des blocs.
- Grâce aux fichiers des étiquettes et des blocs, il est possible de reprendre un travail
interrompu.
- Les fenêtres d'affichage sont redimensionnables.
Pour commencer
Ouvrir un fichier binaire en cliquant sur "Ouvrir". Il peut s'agir d'un fichier binaire ou d'un
fichier hexadécimal.
Une fois le fichier ouvert, le listing désassemblé apparaît dans la partie de gauche et la
liste des étiquettes apparaît à droite.
Comment est constituée la liste des étiquettes
Cette liste est fabriquée en analysant toutes les instructions à 3 octets : LXI, LHLD,
SHLD, LDA, STA, JMP, CALL, etc.
Toutes les adresses situées dans ces instructions sont ajoutées à la table des
étiquettes qui sont numérotées automatiquement
à partir de "L00000". Bien entendu, certaines étiquettes n'en sont pas réellement. Par
exemple, des instructions LXI peuvent
contenir des constantes.
Modification de la liste des étiquettes
Un clic droit dans la liste des étiquettes fait apparaître un menu popup qui propose
quatre choix :
- Ajouter une étiquette : ce choix permet d'ajouter une étiquette à un endroit où le
désassembleur n'en aurait pas trouvé
(par exemple parce que le désassembleur s'est désynchronisé en tentant de
désassembler du texte ASCII).
- Supprimer une étiquette : ce choix permet de supprimer une constante affectée par
erreur à une étiquette.
- Renommer une étiquette : ce choix permet de donner un nom plus "parlant" à une
étiquette comme par exemple
"AFFICHE" au lieu de "L00493".
- Rechercher une adresse : ce choix permet de chercher quelle étiquette se trouve à
une adresse donnée.
Utilisation de la liste des étiquettes
Un double-clic sur une étiquette affiche automatiquement la ligne de code
correspondante.
Définition de blocs de données
Par défaut, la fenêtre source affiche du code désassemblé. Ce n'est pas idéal pour
visualiser du texte ou une suite
de constantes hexadécimales. Pour aider à la compréhension du code, le
désassembleur gère 4 types de blocs :
- désassemblé : c'est le mode par défaut. Le désassembleur produit du code 8085.
- données hexadécimales : dans ce mode, le désassembleur produit des suites de
lignes contenant 8 valeurs hexadécimales
précédées du mnémonique "DATA H".
- données ASCII : dans ce mode, le désassembleur produit des suites de lignes
contenant au plus 32 caractères. Si le texte
se termine par un "0D", le mnémonique est "DATA A", sinon, le mnémonique est
"DATA B". Si le dernier caractère valide
d'une ligne de texte est un espace, le désassembleur ajoute un "." (début de
commentaire).
- table d'indirection : dans ce mode, le désassembleur emploie des paires d'octets
comme des adresses qui constituent
une table d'indirection (branchement indirect à une adresse en fonction d'une
variable, équivalent à un "case"). Chaque
paire d'octets est précédée du mnémonique "IND".
Pour définir un bloc de données d'un certain type, il faut cliquer sur le bouton
correspondant et entrer les adresses de début et
de fin INCLUSES.
Les différentes couleurs d'affichage permettent de retrouver rapidement un bloc.
Enregistrement
Le désassembleur propose plusieurs options d'enregistrement quand on clique sur le
bouton "Enregistrer" :
- Enregistrer le source avec les adresses et les étiquettes : tout ce qui est affiché
dans la liste du source est enregistré.
Le fichier source possède un suffixe ".asm". Attention : ce source n'est pas
compilable à cause de la présence de l'adresse
et du code hexadécimal des instructions. Cette option enregistre également la liste
des étiquettes (même nom avec un
suffixe ".lab") et la liste des blocs (même nom avec un suffixe ".blk"). Tous ces
fichiers sont au format texte.
- Enregistrer le source directement compilable : cette option est semblable à la
précédente, mais le fichier source ne contient
ni les adresses, ni le code hexadécimal. Il est compilable directement par un outil à
venir.
- Enregistrer uniquement les blocs et les étiquettes : permet d'enregistrer uniquement
le fichier ".blk" et le fichier ".lab".
Ceci peut être utile quand on travaille en plusieurs sessions sur un désassemblage
ardu.
Instructions inconnues
Les instructions inconnues du 8085 sont affichées sous forme d'un code hexadécimal
entre deux tirets (par exemple : "-FD-").
Recherche de texte
Le désassembleur permet de rechercher un texte dans la liste source. Ceci permet, par
exempe, de trouver tous les appels
à une fonction particulière ou tous les accès à un port d'entrées / sorties.
Tous les textes sont recherchés en majuscules, même s'ils sont tapés en minuscules.
La recherche démarre toujours après le point courant (ligne sélectionnée dans le
source).
Téléchargement