Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet 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
-
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.
-
kommt auch noch drauf an ob ein priviledge level change is oder net.
Schau einfach im Intel Manual Vol3, da steht _alles_ drin... :idea:
-
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
-
http://www.google.de/search?q=intel+manual zweites ergebnis ;)
-
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:
-
Wenn das PL der gepushten EFLAGS anders ist als das aktuelle PL.
-
Wasn das PL?? Meinste das IOPL?? Oder das Parity Flag?? :?
-
Ah ne, nicht von EFLAGS, sondern von CS. PL ist das Privileg Level (= der Ring :D)
-
Wollt schon sagen lol... ja das is mir dann bekannt... danke! ;)
Gut dann code isch das mal so zusammn :D