CookieOfFortune по существу правильный (потому что он хотел что-то переместить в место, где был начальный загрузчик), но это был не второй загрузчик, а скорее ядро.
Из его комментариев:
Он загружает систему на 0x10000, с использованием прерываний BIOS. После этого он отключает все прерывания, перемещает систему до 0x0000, переходит в защищенный режим и вызывает начало системы . Затем система должна RE-инициализировать защищенный режим в собственных таблицах и разрешать по необходимости прерывания.
Он хочет, чтобы ядро будет находиться в 0x0000 ... 0xKERNEL_SIZE-1, однако начальный загрузчик в настоящее время 0x7C00, поэтому если ядро было более ~ 32 КБ было бы перезаписать загрузчик, как это движущееся его , Дело в том, что ядро находится в 0x0000 также объясняет этот комментарий:
«NOTE В настоящее время система находится в наиболее 8 * 65536 байт долго!».
Если он был больше 512 КБ, начиная с 0, это может привести к поломке зарезервированной области адресного пространства x86.
Я считаю, что этот раздел кода содержит фактический переход в ядро
mov ax,#0x0001 | protected mode (PE) bit
lmsw ax | This is it!
jmpi 0,8 | jmp offset 0 of segment 8 (cs)
Но он специально спрашивает об Linux v0.01 в нижней части этой страницы, что делает __not__ как двухступенчатый загрузчик. Кажется, загружает ядро прямо в 0x10000, как комментарий в верхних состояниях. – IRBMe
Спасибо, прекрасный ответ! Я понял, что приложения соединены вместе, но мне не пришло в голову, что все остальные будут загружены по тому же адресу. Я заметил, что регистр DL используется для идентификации номера диска, но снова я не мог найти никакой явной документации об этом. Я не думаю, что есть стандартный справочный документ BIOS, плавающий вокруг межсетевых экранов? Раньше у меня была книга, содержащая таблицы прерываний, но ее, по крайней мере, 20 лет и, вероятно, очень устаревшие (и потерянные). – icStatic
Вот список прерываний BIOS: http://en.wikipedia.org/wiki/BIOS_interrupt_call. Очевидно, что они доступны только до тех пор, пока ваша ОС не установит таблицу прерываний. – Falaina