То есть BIOS его не должна вызывать после запуска ОС?
Для чего нужен в BIOS сабжевый вектор, и насколько он часто используется?
Не пойдёт, я ж написал, неизвестно, надо ли читать [esp+0] или [esp+4] для получения EIP, так как при исключении может push'аться код ошибки
Как можно узнать, вызван ли обработчик прерывания инструкцией int XX или же это исключение? Главная проблема при этом, что неизвестно, считывать...
Тогда интересно, почему британцы произносят как cunt)
Так WFP же не отключен. При запуске копируй файл сразу в system32 и system32\dllcache, тогда WFP нечем будет заменять файл и он останется.
Pavia Че-то не нахожу такой функции в доках Ralf Brown'а... подскажи, где можно найти.
В некоторых источниках говорится, что сабжевая дырка может находиться где угодно. Это правда? Как оси ее обрабатывают и поддерживают ли вообще?
Есть инструкция FF 5E 00. Bochs дизассемблирует как call far ss:[bp] HIEW выводит call d,[bp][00000] Код генерируется FASM1.65 из call dword...
iamlamer Как ты догадался это проверить??
Вообще-то, как можно убедиться, прерывания включены, и cli может понадобиться. Убедиться в этом можно, в загрузчике написав jmp $ и увидеть, что...
Мона через каждые Sleep(100) вызывать, тада загрузки ненужной не будет
Есть ли машины на базе 386 и выше процессоров, в которых нет и не эмулируется что-либо из стандартного - PIC, PIT, i8042, speaker, RTC, FDC, etc.?
IMHO через DMI можно больше узнать. Плюс не надо порты юзать
André LaMothe пишет: То есть, это тоже кватернион, так же, как и a+bi+cj+dk+el...
Тут в принципе нереально сделать переносимый код. Компилятор _всегда_ перед signed div ставит cdq, а перед unsigned div - xor edx,edx.
Попробуй так: short a[]={0xca83,0xf7ff,0xc3f4}; int(*f)()=(int(__cdecl*)(void))&a; f();
mode=growing в строке описания диска не подходит?
поместить вызов _chain_intr() в конец обработчика
В тексте "Сообщение добавлено" в оригинале тоже избыток "н"
Имена участников (разделяйте запятой).