| Zeile 30: | Zeile 30: | ||
== I286 == | == I286 == | ||
Bei der I 268 dürfte doch eigentlich nur 24 Bit Base Addressen verwenden. Wie geht das den, wo doch hier alle Descriptoren 32 Bit Base Addressen enthalten. --[[Benutzer:Sannaj|Sannaj]] 09:21, 25. Nov. 2011 (CET) | Bei der I 268 dürfte doch eigentlich nur 24 Bit Base Addressen verwenden. Wie geht das den, wo doch hier alle Descriptoren 32 Bit Base Addressen enthalten. --[[Benutzer:Sannaj|Sannaj]] 09:21, 25. Nov. 2011 (CET) | ||
| + | : Beim 286 werden einfach die Bits 31..24 von der Basis (also Byte 7 im Descriptor) ignoriert, ebenso wie alle Limit-Bits oberhalb von Bit 15 und das Granularity-Flag. Es gibt auf dem 286 wimre sogar einen korrekten Überlauf in die unteren Bytes wenn so ein Segment die 16MB-Grenze überschreitet, bei 386 und aufwärts gibt es das nicht an der 16MB-Grenze sondern nur an der 4GB-Grenze. Das mit dem ignorieren klappt aber nur bei den Descriptoren für die normalen Datensegmente, einige der System-Descriptoren gibt es hingegen doppelt (mit unterschiedlichen Typen), einmal für 16Bit-PM und einmal für 32Bit-PM (bei 386 und aufwärts funktionieren natürlich beide). --[[Benutzer:Erik.vikinger|Erik.vikinger]] 10:04, 25. Nov. 2011 (CET) | ||