Lowlevel

Lowlevel => OS-Design => Thema gestartet von: ehenkes am 11. June 2009, 13:45

Titel: GDT
Beitrag von: ehenkes am 11. June 2009, 13:45
.size  = GDT_SIZE*8 - 1Diese -1 habe ich noch nicht sicher verstanden, habe sie bisher lediglich aus Tutorials uebernommen, wurde bisher leider nicht exakt erklaert. Geht vor allem auch ohne -1.  :-)
Titel: Re: GDT
Beitrag von: Jidder am 11. June 2009, 14:02
Bei den x86ern ist das so, dass die Limits immer eins kleiner sind, als die Größe der Descriptor Table bzw. des Segments. Sonst könntest du im 16 Bit Modus keine 64 KB (0x10000 <- 17 Bit Zahl) und im 32 Bit Modus keine 4 GB (0x100000000 <- 33 Bit Zahl) großen Segmente ausdrücken.

Dieses Limit (das genau deswegen nicht "Size" heißt), gibt das letzte gültige Byte an.
Titel: Re: GDT
Beitrag von: ehenkes am 11. June 2009, 14:10
thx  :-)