Also, ich hab hier schon lang nix mehr geschrieben, weil keine Zeit für OS-Coding. Allerdings werde ich jetz bald wieder Zeit haben und auch einen Testrechner!
Jetz hab ich mal schnelleinen Kernelzusammengefrickelt, der zumindest mal den Pmode einschaltet und sich dann aufhängt. Nur hab ich wie gesagt lang nix mehr gemacht und auch nochkeinen Testrecheneer. Daher wäre es sehr nett, wenn einer der Experten mal schnell prüft, ob der Code zumindestens in der Theorie, so richtig ist!
org 0x7C00
bits 16
jmp Start
GDT:
GDTSTRUC STRUC
Limit dw 24d
BaseAdr dw ?
GDTSTRUC ENDS
Null_Deskriptor:
dw 0
dw 0
dw 0
dw 0
Code_Deskriptor:
Stack_Deskriptor:
gdt_adr GDTSTRUC ?
Start:
Adresse:
xor eax,eax
mov ax,seg Null_Deskriptor
shl eax,4
add ax,offset Null_Deskriptor
mov [gdt_adr.BaseAdr],eax
P Mode Einschalten:
LGDT gdt_adr
mov eax,cr0
or eax,1 ; setzt PE-Bit (Bit 0)
mov cr0,eax
db 0EAh
dw Protected_Mode
dw 1h
bits 32
Protected_Mode:
jmp Protected_Mode
Is nur das Grundgerüst, also last euch nicht stören, das da noch die Bootsektor Signatur und so weiter fehlen!