Hast du mal geschaut, wo der GPF genau auftritt? Was mir so auf den ersten Blick auffällt, ist das jmp END womit du mitten ins Nichts springst, also in Speicher, wo stehen kann, was will. Schließ das Ding mal mit einer Endlosschleife ab.
09. November 2026, 18:28
nasm -f bin -o kernel16.bin kernel16.asm
nasm -f aout -o kernel32.o kernel32.asm
gcc -Os -ffreestanding -c -o main.o main.c
ld -T link.ld -o ckernel32.bin kernel32.o main.o
MergeKernel kernel.sys kernel16.bin ckernel32.bin
copy kernel.sys a:\kernel.sys
Für WXP und DJGPP
Ocer muss ich [ORG 0x10000] einfügen oder so was?ja (wenn dein kernel nach 0x1000 geladen wird )
oder die Exception tritt auf bei mov ds, ax.....du benutzt anchscheinend nicht den debugmodus von bochs
c normale ausfüren
s einzel schritt ausfüren
vb seg:offs brackpoint setzen (virtuell adresse)
lb addr brackpoint (lineare addresse)
pb addr brackpoint (physikaliche addresse
d n brackpoint nummer n löschen
q beendenlb 0x1000 # um den bios boot forgang zu über springen
c # bis zum Brackpoint ausführen
d 1 # brackpoint wieder löschen (hier die nummer eintragen di nach dem lb befehl angezeigt wird
s # mit s bis zum programmabsturz for arbeiten (einfach enter widerholt den letzten konsolen befehl)
00009148317i[CPU ] | EIP=0000001b (0000001b)siht so aus als fehlt ein [org 0x1000] den dein code liegt beschtimmt nicht bei 0x001B