Lowlevel

Lowlevel => Lowlevel-Coding => Thema gestartet von: nooooooooos am 25. October 2005, 20:53

Titel: Fragen zum Protected-Mode
Beitrag von: nooooooooos am 25. October 2005, 20:53
Das hier sind meine Fragen:

1.)   Wie definiert man im PM einen Stack ?
2.)   Und um wieviel muss ich den Selektor erhöhen, wenn ich den nächst höheren Deskriptor verwenden möchte ?
Titel: Fragen zum Protected-Mode
Beitrag von: Homix am 25. October 2005, 21:13
hi,
zu 1.)
fast so wie im RealMode: in SS den Selektor speichern, der auf das Stacksegment (oder das Datensegment) im Deskriptor zeigt und in ESP die Offset-Adresse des Stacks speichern

zu 2.)
immer um 8 !
Null-Deskriptor = 0,
1. Deskriptor = 8,
...

mfg,
stefan2005
Titel: Fragen zum Protected-Mode
Beitrag von: Roshl am 26. October 2005, 17:15
immer um 8 erhöhen ist nicht ganz korrekt, das würde nur stimmen, wenn alle den selben Level besitzen.
man kann es ja einfach so machen: einfach deskriptor nummer nehmen, 3 bit nach links shiften und dann entsprechend die 3 niederen bits setzen
Titel: Fragen zum Protected-Mode
Beitrag von: ena am 15. November 2005, 11:15
Aufbau Selektor:
-------------------
|15..................|3 |2.0|
|   SELEKTOR   |TI|CPL|

Wenn du nun zb. den ersten Deskriptor haben willst sieht die bitkombi fuer deinen selektor so aus: 0000000000001
Dazu kommt dann noch das TI-Bit und das Current-Priveleg-Level und damit siehts dann zb so aus: 0000000000001000
Wie du siehst ergibt sich hieraus dezimal sowie hexadezimal die acht. Ist etwas verwirrend da die deskriptoren meist acht byte lang sind.
Titel: Fragen zum Protected-Mode
Beitrag von: nooooooooos am 15. November 2005, 17:11
Danke vielmals.

Gruss
Noooooooooos