[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