Правильно ли я изложил, что произойдет в моем загрузочном секторе / загрузчике? - PullRequest
2 голосов
/ 27 марта 2019

Я пытаюсь сделать простой загрузчик для установки моего ядра в C, и я не уверен, как это сделать.Я выложил с помощью комментариев то, что мне нужно сделать, чтобы подготовиться к этому.

test.asm:

;test.asm

;initialization type stuff
[bits 16]
[org 0x7c00]

;initialize anything I need to

;maybe move to 64-bit protected mode
;load kernel
;call kmain

;padding & magic number (end)
times 510-($-$$) db 0
dw 0xaa55

kernel.c:

//kernel.c

//main entry point for kernel
int kmain(void)
{
    //video memory
    char *vidptr = (char*)0xb8000;
    vidptr[0] = 'X';
    while(1) {}
    return 0; //might create an error because it is unreachable
}

Буду признателен за помощь в исправлении процесса, который я пытаюсь сделать.Помощь в том, чтобы на самом деле заставить мой загрузчик вызывать ядро, была бы также хороша.

...