Ich habe nur eine .img Datei falls du das mit den letzten beiden Sätzen sagen willst.
Naja meine kernel1.bin wird von der Bootloader.bin an die Addresse 0x1000 geschrieben, dass alles geschieht noch vor dem PM. Jetzte hätte ich schon probiert die kernel2.bin (c-kernel) an die Adresse 0x8000 zu schreiben und dann in der kernel1.bin mit dem Befehl jmp 0x8000 dort hin zu gelangen, das geht nicht, da ist wieder das gleiche Problem das ich schon mal hatte, der Bootloader schreibt lediglich Loading und resetet dann, als würde er an der Adresse 0x8000 nichts finden.
Hier mal mein Bootloader vll kann mir ja jemand ein Code Beispiel geben wie das funktionieren könnte, danke
org 0x7C00
start:
cli
mov ax, 0x9000
mov ss, ax
mov sp, 0
sti
mov [bootdrv], dl
call kernel
mov ax, 0x1000
mov es, ax
mov ds, ax
push ax
mov ax,0
push ax
retf
bootdrv db 0
loadmsg db "Loading...",13,10,0
putstr:
lodsb
or al, al
jz short putstrd
mov ah, 0x0E
mov bx,0x0007
int 0x10
jmp putstr
putstrd:
retn
kernel:
push ds
mov ax, 0
mov dl, [bootdrv]
int 13h
pop ds
jc kernel
load:
mov ax,0x1000
mov es, ax
mov bx,0
mov ah, 2
mov al, 5
mov cx, 2
mov dx, 0
int 13h
jc load
mov si, loadmsg
call putstr
retn
times 512-($-$$)-2 db 0
dw 0AA55h