Global Descriptor Table — Änderungen 3754 → 4356

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
 
|-
 
|-
−
| 0     || Granularity bit|| Bei 0 wird als Einheit bei Limit ein Byte benutzt, bei 1 stattdessen 4 KiB
+
| 3     || 0x8 || Granularity bit|| Bei 0 wird als Einheit bei Limit ein Byte benutzt, bei 1 stattdessen 4 KiB
 
|-
 
|-
−
| 1     || Size bit      || 0 bedeuted 16 bit protected mode, bei 1 32 bit protected mode.
+
| 2     || 0x4 || Size bit      || 0 bedeuted 16 bit protected mode, bei 1 32 bit protected mode.
 
|-
 
|-
−
| 2     || 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.''
+
| 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.''
 
|-
 
|-
−
| 3     || Available Bit      || Dieses Bit steht dem Programmierer zur freien Verfügung.
+
| 0     || 0x1 || Available Bit      || Dieses Bit steht dem Programmierer zur freien Verfügung.
 
|}
 
|}