IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
logo
Sommaire > F.A.Q. Assembleur x86 > Interruptions
        Comment créer ses propres interruptions ?
        Où trouver la liste des interruptions ?

rechercher
precedent    sommaire    suivant    telechargermiroir


Comment créer ses propres interruptions ?
auteur : Romain Tartière (Smortex)
La première étape consiste a écrire le code de l'interruption lui même. Il est identique a celui de l'écriture d'une procédure "normale" si ce n'est qu'il se termine par une instruction iret au lieu de ret.
Par exemple, on va créer une interruption FDh :

IntFD:
[...]
iret				
La seconde étape consiste à initialiser le vecteur d'interruption de manière à pointer la zone mémoire qui contient le programme a éxécuter.
Chaque vecteur occupe 4 octets a partir de l'adresse 0000:0000 et qui indiquent la zone de la mémoire où se trouve le code de l'interruption. C'est donc cet espace qu'il faut mettre a jour.
Exemple :

Init_IntFD:
push ax
push es
xor  ax,ax
mov  es,ax; Es <--- 0
mov  word[es:0FDh*4],IntFD; Initialisation du vecteur
mov  word[es:0FDh*4+2],cs; de l'interruption
pop  es
pop  ax
ret
C'est terminé ! Il ne reste plus qu'a déclencher l'interruption :

int 0FDh

Où trouver la liste des interruptions ?
auteur : Romain Tartière (Smortex)
Pour programmer sur un système x86, il est indispensable d'avoir une table des interruptions sous la main... On peut en trouver de nombreuses plus ou moins complètes sur le Web... Celle de Ralf BROWN est très complète. Vous la trouverez en consultation en ligne ici : http://www.ctyme.com/rbrown.htm Ou si vous préférez tout télécharger, rendez-vous ici : http://www-2.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html


rechercher
precedent    sommaire    suivant    telechargermiroir

Consultez les autres F.A.Q's


Valid XHTML 1.1!Valid CSS!

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2007 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.