Danke für den Hinweis...
Erstmal zusammenfassend:
"Problem" gelöst!
Problem:
in dem oben angegebenen Tutorial verschiebt der Autor die GDT (siehe Code) an dem Anfang des Arbeitsspeichers. Dies sollte vermieden werden da dieser Bereich nicht benutzt werden sollte.
Lösung:
cli
;Das Auskommentierte kann man löschen
;mov ax, cs ; Code-Segment holen
;mov ds, ax ; Daten-Segment gleichsetzen
;xor eax, eax ; ax = 0
;mov es, ax ; Extra-Segment auf Null setzen
;mov si, GDT ; Quelle : GDT
;xor di, di ; Ziel : 0x0000
;mov cx, 6 ; 6 DoubleWords kopieren (ganze GDT)
;rep movsd
mov ax,GDT ; <- neu eingefügt
mov [GDTS+2],ax ; <- neu eingefügt
lgdt [GDTS]
Hier wird die Adresse des Anfangs der GDT in GDTS -> base eingetragen. Jetzt kann die GDT geladen werden.
mfg ika