
04.04.2009, 07:29
|
|
Постоянный
Регистрация: 25.05.2007
Сообщений: 448
С нами:
9981026
Репутация:
1564
|
|
>>щас подобное на асме пишу... но там задачка по легче вывести количество свободных прерываний и адрес первого свободного )
10 строчек кода. 1 инструкция sidt, а дальше цикл от 0 до 255 с проверкой "если не trap/tss/int, inc count". Задача не схожа кстати с моей.
Вообще, изначально мне просто хотелось KINTERRUPT все посмотреть и входы с учетом селектора. Вот и написалось. Скажем, например, восстановление дефолтного обработчика мб полезно, если кто-то похукал что-то.
Обычно неудобно, что показывают часть информации об IDT, например только хуки (RKU). Или как у Syser по команде idt (ну или в меню Information->Idt) без KINTERRUPT. А так вроде все вместе и расчет адреса сразу с базой сегмента.
У кого-то вероятно возник вопрос насчет kd (!idt). Да, kd показывает KINTERRUPT, модуль,содержащий обработчик и etc. Однако селектор я как поняла он для TSS показывает, а если это дескриптор шлюза прерывания, то уже смотрит только на смещение. А так, конечно, kd удобен для просмотра.
Последний раз редактировалось 0x0c0de; 04.04.2009 в 08:08..
|
|
|