Я не знаю, как скомпилировать ядро C для 16-битного реального режима.Я попробовал множество компиляторов без удачи.Мой загрузчик просто загружает сырые сектора с дискеты (мое ядро живет сразу после первого сектора на диске) по адресу физической памяти 1000h: 0000h, а затем переходит к нему.Как я могу скомпилировать ядро C для работы в 16-битном реальном режиме?
мое базовое ядро:
void OSmain()
{
unsigned char *videoram = (unsigned char *) 0xb8000;
videoram[0] = 65; /* character 'A' */
videoram[1] = 0x07; /* forground, background color. */
while( 0 )
{
}
}
компиляторы, которые я пробовал - это GCC, tinyCC и DMC.Моя цель - получить плоский двоичный файл, к которому я могу перейти, чтобы начать выполнение.