Обработчики маскируемых прерываний выше 15 по любому не вызываются, пока это не будет проинициализировано явно. IRQ1/12 от USB не генерируются...
Сначала cli, а после sti уже должны стоять обработчики-заглушки на все необрабатываемые прерывания.
Ты должен вставить бинарник в инсталлятор в каком-либо виде (например, как байтовый массив констант). То, о чем ты говоришь, возможно, но не...
Образ флешки - копипаст всех секторов в файл. Но в эмуляторах обычно не используется понятие "образ флешки". Жесткий диск, флоппик, CD/DVD. Совсем...
Это лог не виртуал бокса, а просто бокса (bochs'а) :) По-моему все предельно понятно. Общий смысл: "пишешь в сегмент, недоступный для записи,...
От себя хочу сказать, что не нужно все тянуть в первичный загрузчик. У него другие задачи. И не нужно выкладывать код, делающие много чего, не...
Лог бокса: 00002227327e[CPU0 ] write_virtual_checks(): no write access to seg 00002227327i[CPU0 ] CPU is in protected mode (active)...
По-моему GPT и GPT protective partition - это немного разные вещи. Т.е. их стартовые адреса могут не совпадать. Да, конечно в UEFI Spec. описана...
GPT или GPT-области? Не понял. Допиши до конца. Я сказал: "Если не защищать GPT..."
Что именно ты пробовал? GPT-разделы должны находиться в пределах области диска, описанной в заголовке GPT (GPT-области). Эта область и сама GPT...
Это просто разминка для ума. У меня эта статейка висит в мобильнике уже несколько лет. Думаю, именно в вики она и появилась впервые. Ты сам можешь...
Я немного перегнул. Просто инициализировать и управлять PIC/APIC/IDT для последовательно возрастающих номеров векторов немного проще. Также лучше...
У младших 8 прерываний база 8. Про старшие говорить не буду, т.к. ты их базу не менял, что кстати весьма странно.
rmn, см. в этом же посте: ebp*5=ebp*4+ebp
Видать, бот утащил. Первый ответ действительно исчерпывающий. Если ebp - индексный регистр, то адресация выполняется относительно DS.
Не прокатывает, потому что ты, видимо, делаешь com-файлы (org 100h). Для чистого бинарника с нулевым стартовым внутрисегментным смещением...
Еще вариант для com-файла (стартовое смещение 100h, т.е. нужно использовать org 100h): jmp 7F0h:100h в загрузчике или jmp 7F0h:next_pos_disp...
Pavia прав (org 8000h в помощь; это корректнее называть директивой, а не макрокомандой). Хотя, как вариант jmp 800h:0 в загрузчике или jmp...
Верно. Хотя лучше сразу перейти к линейной адресации (LBA). Линейный номер сектора (а также при необходимости размер) можно вычислять тут же:...
Второй тоже без файловой системы. "jmp Begin" убери - это все должно быть внутри "Eboot.exe" (exe? Надеюсь, это чистый программный код!)
Имена участников (разделяйте запятой).