[SOS] Demande info sur Wrapper Exception
romain
romain at hexanium.com
Sam 30 Juil 22:48:15 CEST 2005
Salut,
Déjà un grand merci pour toutes ces précisions.
J'ai une seconde question concernant le source de SOS.
Dans le fichier exception_wrappers.s apres la sauvgarde du contexte on
appelle la procedure en c.
...
; Apparament ici on passe 2 parametre a la fonction
pushl %esp ; Esp ?
pushl $\id ; le N° d'interruption
apparament
; On récupere l'adresse de la fonction dans le tableau base + (N°
interruption*4) si c bien ca et on l'appelle.
leal sos_exception_handler_array,%edi
call *\id*4(%edi)
; ici comme indiquer dans les comments on desaloue de dessus la pile les
2 argument (2 x 4octets)
addl $8, %esp
...
Si mon raisonnement est juste, esp passé en parametre n'est pas utilisé
par la fonction de process de l'interruption.
Est-ce le cas ? Enfin je ne voit pas bien ce que vient faire ce push esp
ici ?
Est il la au cas ou pour la fonction ? Ou doit on absolument le passer
pour une oscure raison ?
Pouvez vous m'éclairer ?
A++
Merci encore
(1000 excuses pour ma pietre expression)
Hexanium
Plus d'informations sur la liste de diffusion Sos