Я пытаюсь создать простую операционную систему, но при компиляции загрузчика выдается ошибка:
error: binary output format does not support external references
Я знаю, что означает эта ошибка, но возможно ли создавать внешние ссылки при компиляции в двоичный формат? Вот мой полный код:
;Bootloader.s
[BITS 16]
[ORG 0x7C00]
global loader
extern kmain
loader:
call kmain
times 510-($-$$) db 0
dw 0xAA55
И мое ядро:
/*kernel.c*/
void kmain()
{
unsigned char *vidmem = (unsigned char *) 0xb8000;
int i
for(i=1;i<=11;i+=2)
{
vidmem[i]=0x07;
}
vidmem[0]='H';
vidmem[2]='e';
vidmem[4],vidmem[6]='l';
vidmem[8]='o';
videmem[10]='!';
}
Как я скомпилировал:
nasm -o '/home/myusername/Cubed OS/Bootloader.o' '/home/myusername/Cubed OS/Bootloader.s'