Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: sancho1980 am 01. February 2008, 15:31
-
hallo
ich will einen segment deskriptor fuer ein stack segment schreiben
das segment soll von 0x100000 bis 0x110000 gehen. irgendwas scheine ich falsch zu verstehen. ich bin bei folgendem deskriptor angelangt, aber ich bekomme fehler:
dw fff0h ;limit of the segment
dw 0 ;base address of segment
db 11h ;still belonging to base address of segment
db 10010010b ;1 for "segment is present"
;00 for "privilege 0"
;1 for "data or code segment"
;0 for "data segment"
;0 for "expand downward"
;1 for writable
;0 (access flag set by cpu on 1st access)
db 11001111b ;1 for page-granularity
;1 for 32-bit stack pointer
;0 (reserved bit)
;0 (available to system programmers)
;1111b for last bits of segment limit
db 0 ;last byte of base address
-
[...] ich bekomme fehler
eine etwas genauere Fehlerbeschreibung wäre schon relativ nützlich
-
naja, ich kann dir grad die fehlermeldung nicht posten, weil ich auf arbeit bin..die frage war ja auch eher so gemeint:
angenommen du wuerdest ein segment dekriptor fuer einen stack schreiben wollen, der jetz also von 0x100000 bis 0x110000 geht, wie wuerde dieser aussehen..ich muesste das irgendwie mal am beispiel sehen, wie das mit den expand-down segmenten gemeint ist. auch bin ich mir nicht sicher, ob jetzt in die basis-adresse das ende oder der anfang des stack-segmentes soll...
-
Hmm...Ich habe keine Erfahrung mit Expand-Down segmenten...Aber die ist auch nicht unbedingt nötig...Du kannst auch einfach ein Daten-Segment machen und den Stack dadrauf setzen...Geht auch prima...
Zudem haben viele hier einfach nur ein Code- und Datensegment pro Ring und diese dann einfach von 0-0xFFFFFFFF eingestellt...Das ist einfacher und hat eigentlich keine Nachteile...Wenn du dannach nämlich Paging verwendest(wie die meisten OS) kannst du einfach jedem Task die Speicherteile geben, die du willst...
Ich denke mal Paging ist weniger kompliziert als diese ganze Segment-Geschichte und hat noch zusätzliche Vorteile...
Gruss
Noooooooooos
-
hmmm
und hat sonst irgendwer erfahrung mit expand down segmenten?
-
hier (http://www.osdev.org/phpBB2/viewtopic.php?t=16060) gehts weiter.