Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: __OS_coder am 24. January 2006, 21:44

Titel: Stack nach Exception
Beitrag von: __OS_coder am 24. January 2006, 21:44
hiii...
Ich wollte mal fragen, ob mir jemand jetzt
mal genau sagen kann, was in welscher reihenfolge
beim auslösen einer Exception gepusht wird... ich hab
schon "überall" nachgesehen und "überall" steht was anderes

Danke
Titel: Stack nach Exception
Beitrag von: Jidder am 24. January 2006, 22:14
hehe, da werdem wir dir auch nicht helfen koennen, denn laut deiner aussage, werden wir mindestens einer deiner quellen widersprechen ;)

also es ist fuer jede exception unterschiedlich was auf den stack gelegt wird. das kommt ganz auf die art der exception an. bei manchen exceptions wird ein fehlercode gepusht, bei manchen nicht. ich glaube auch irgendeine debugexception laesst die ruecksprung adresse nicht auf die naechste instruktion, sondern auf die ausloesende instruktion zeigen. (mehr unterschiede gibt es afaik nicht.) welche exceptions jetzt genau was machen, sollte in den manuals von intel stehen. nach denen wuerde ich mich erstmal richten.
Titel: Stack nach Exception
Beitrag von: bluecode am 26. January 2006, 11:46
kommt auch noch drauf an ob ein priviledge level change is oder net.
Schau einfach im Intel Manual Vol3, da steht _alles_ drin... :idea:
Titel: Stack nach Exception
Beitrag von: __OS_coder am 26. January 2006, 15:01
Dass bei manchen Exceptions Errorcodes und bei manchen nicht
gepusht werden, weiß ich auch... ich wollte eigentlisch wissen
in welcher Reihenfolge bei einer Exception die Register EIP, CS,
EFLAGS gepusht werden und ob noch mehr gepusht wird... Außer
ein eventueller Fehlercode

@bluecode: Kannste mir mal n direkten Hyperlink geben.. ich komm
mit der Intelsite nich klar.. die ham so'ne komische Navigation :D
Titel: Stack nach Exception
Beitrag von: Jidder am 26. January 2006, 15:19
http://www.google.de/search?q=intel+manual zweites ergebnis ;)
Titel: Stack nach Exception
Beitrag von: __OS_coder am 26. January 2006, 19:03
yooo danke das hilft... :D

Jetzt noch eine kleine Frage... Wie finde ich
heraus, ob ein Stack-Switch stattgefunden hat
und das SS und ESP Register zusätzlich gepusht
worden ist?? Ist das überhaupt möglich? :shock:
Titel: Stack nach Exception
Beitrag von: SSJ7Gohan am 26. January 2006, 19:11
Wenn das PL der gepushten EFLAGS anders ist als das aktuelle PL.
Titel: Stack nach Exception
Beitrag von: __OS_coder am 26. January 2006, 21:06
Wasn das PL?? Meinste das IOPL?? Oder das Parity Flag??  :?
Titel: Stack nach Exception
Beitrag von: SSJ7Gohan am 26. January 2006, 21:10
Ah ne, nicht von EFLAGS, sondern von CS. PL ist das Privileg Level (= der Ring :D)
Titel: Stack nach Exception
Beitrag von: __OS_coder am 26. January 2006, 21:24
Wollt schon sagen lol... ja das is mir dann bekannt... danke! ;)
Gut dann code isch das mal so zusammn :D