Hi,
ich habe einen mehr als kleinen primitiven ASM Bootloader geschrieben
Er gibt halt erstmal was aus. Ich würde nun gerne aus diesem Bootloader einen Kernel starten, der in C geschrieben ist.
Ich habe mal den von osdever [HIER] genommen, er sieht wie folgt aus :
Nun steht im Tutorial :
Wie bekomme ich dies nun hin ?
ich habe einen mehr als kleinen primitiven ASM Bootloader geschrieben
Code:
[BITS 16]
[ORG 0x7C00]
main:
mov ax,0x0000
mov ds,ax
mov si, os_string
call load_os
jmp $
; Output : Loading ChaOS
load_os:
mov ah, 0x0E
mov bh, 0x00
mov bl, 0x07
.nextchar
lodsb
or al,al
jz .return
int 0x10
jmp .nextchar
.return
ret
os_string db 'Loading operating system',13,10,0
times 510-($-$$) db 0
dw 0xAA55
Er gibt halt erstmal was aus. Ich würde nun gerne aus diesem Bootloader einen Kernel starten, der in C geschrieben ist.
Ich habe mal den von osdever [HIER] genommen, er sieht wie folgt aus :
Code:
[BITS 32]
[global start]
[extern _k_main] ; this is in the c file
start:
call _k_main
cli ; stop interrupts
hlt ; halt the CPU
Code:
k_main() // like main in a normal C program
{
k_clear_screen();
k_printf("Hi!\nHow's this for a starter OS?", 0);
};
Nun steht im Tutorial :
The kernel is called kernel.bin and is ready to be run by a bootsector/loader that sets up Protected Mode and enables the A20(John Fine's bootf02 bootsector does this).
Wie bekomme ich dies nun hin ?