![]() ![]() ![]() |
Au contraire des langages de haut niveau, qui proposent des fonctions toutes faites pour les utiliser, le langage assembleur comme vous avez pu le constater à plusieurs reprises, n'offre aucun support.
![]() ![]() ![]() |
Si vous avez lu le cours concernant la VAT, vous savez déjà qu'une variable est définie par son nom, ses attributs et son handle.
Le nom est d'une longueur de 8 octets (caractères) terminés par un caractère nul,
les attributs sont des bits compris dans un octet,
enfin nous avons l'handle qui est un mot.
Chaque élément (nom, attributs, handle) est appelé champs.
Voici une capture d'écran du logiciel Hexview 2.5 de Benoît Scherrer, celle-ci montre la VAT du dossier MAIN avec les couleurs précédement utilisées :
Pour " naviguer " de variable en variable, il suffit de pointer la première puis de faire des saut de 12 octets. Pour accéder à un champs il suffit d'ajouter un offset (décalage) au pointeur de la variable pointée.
![]() ![]() ![]() |
// déclaration d'une struture de type variable_fichier struct variable_fichier { unsigned char nom[8]; // nom de la variable unsigned char flags; // ses attributs int handle; // son numéro de handle };
Zguide © 1998 - 1999 par Florian DREVET. Tous droits réservés