| Zeile 43: | Zeile 43: | ||
=== Das Access-Byte === | === Das Access-Byte === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Bit || Name|| Bedeutung | + | ! Bit || Wert || Name|| Bedeutung |
|- | |- | ||
| − | | 7 || present bit || Muss 1 für einen aktiven Eintrag sein | + | | 7 || 0x80 || present bit || Muss 1 für einen aktiven Eintrag sein |
|- | |- | ||
| − | | 6 u. 5|| Privilege || Ring - von Ring 0 (Kernel Mode) zu Ring 3 (User Mode) | + | | 6 u. 5|| 0x20 || Privilege || Ring - von Ring 0 (Kernel Mode) zu Ring 3 (User Mode) |
|- | |- | ||
| − | | 4 || 1 || Ist 1 | + | | 4 || 0x10 || 1 || Ist 1 |
|- | |- | ||
| − | | 3 || Executable bit || Bei 1 ist das Speichersegment ein Codesegment, bei 0 ein Datensegment | + | | 3 || 0x08 || Executable bit || Bei 1 ist das Speichersegment ein Codesegment, bei 0 ein Datensegment |
|- | |- | ||
| − | | 2 || Direction bit/Conforming bit || Abhängig vom Executable bit | + | | 2 || 0x04 || Direction bit/Conforming bit || Abhängig vom Executable bit |
|- | |- | ||
| − | | 1 || Readable bit/Writable bit || Bei einem Codesegment ob lesen erlaubt ist, bei einem Datensegment ob schreiben erlaubt ist | + | | 1 || 0x02 || Readable bit/Writable bit || Bei einem Codesegment ob lesen erlaubt ist, bei einem Datensegment ob schreiben erlaubt ist |
|- | |- | ||
| − | | 0 || Accessed bit || Sollte 0 gesetzt werden, wird dann vom Prozessor bei Zugriff gesetzt. | + | | 0 || 0x01 || Accessed bit || Sollte 0 gesetzt werden, wird dann vom Prozessor bei Zugriff gesetzt. |
|} | |} | ||
==== Beispielcode ==== | ==== Beispielcode ==== | ||
| Zeile 94: | Zeile 94: | ||
=== Die Flags === | === Die Flags === | ||
{| {{Prettytable}} | {| {{Prettytable}} | ||
| − | ! Bit || Name|| Bedeutung | + | ! Bit || Wert || Name|| Bedeutung |
|- | |- | ||
| − | | | + | | 3 || 0x8 || Granularity bit|| Bei 0 wird als Einheit bei Limit ein Byte benutzt, bei 1 stattdessen 4 KiB |
|- | |- | ||
| − | | | + | | 2 || 0x4 || Size bit || 0 bedeuted 16 bit protected mode, bei 1 32 bit protected mode. |
|- | |- | ||
| − | | | + | | 1 || 0x2 || Long Mode bit || 0 bedeuted Protected Mode, 1 bedeutet Long Mode. Bei gesetztem Long Mode Bit '''muss''' das Size Bit 0 sein! Ist das Long Mode Bit 0, so gibt das Size Bit die Bit-Größe des Protected Mode Segments an. ''Dieses Bit sollte nur bei einem Code Segment gesetzt werden, bei anderen Segment-Typen sollte es auf 0 gesetzt sein.'' |
|- | |- | ||
| − | | | + | | 0 || 0x1 || Available Bit || Dieses Bit steht dem Programmierer zur freien Verfügung. |
|} | |} | ||