ага например Клавиатура. IRQ1, Прерывание Int 93 - использует порты 60 и 64. Теперь IRQ 19, Прерывание (непомню сейчас) - как узнать какие порты используются. Естественно програмно, а не из диспечера устройств
В винде это заглушка, а не хэндлер прерываний клавиатуры. На будущее, уточняйте по какой оси вопрос, это по досу вопрос или хз..
Nable Ну дизассемблируешь прерывание смотришь какие порты использует. А вообще в любом прерывании можно использовать любые порты ввода/вывода.
Nable Линия запроса прерывания от клавиатуры с интерфесом PS/2 -- действительно IRQ 1. Вектор (номер) прерывания -- вовсе не обязательно 93, он задаётся программированием контроллера прерываний. Что ж до портов, то лишь у немногих устройств порты являются фиксированными, в большинстве случаев их адреса настраиваются программно либо BIOSом, либо осью.
Дык я и хочу "программно" узнать какие порты на конкретной машине, ось/bios или дрова выдали фиксированому прерывание(irq). Как узнать номер в idt по irq я знаю. А вот как порты, не знаю.
Они не связаны. Нужно знать и то и другое. Есть таблицы в инете какие наиболее часто используемые девайсы какие порты используют, в документации к девайсу должно быть это написано тоже. А универсально для произвольного девайса.. по-моему, никак. Порты не "выдаются". Порты использует устройство аппаратно и никто и ему не выдает, оно само к ним подключено.
Great Ну, не совсем так... Несколько упрощая, всё железо можно разделить на три группы: 1) "Унаследованная" (legacy) аппаратура, которая существовала уже на PC/AT. Она использует известные фиксированные адреса портов и номера линий запросов прерываний (IRQ). Это клава и мыша PS/2; COM- и LPT-порты; стандартные контроллеры прерываний (PIC) и прямого доступа к памяти (DMA); контроллеры гибких (FDC) и в жёстких дисков стандарта IDE (ATA). Некоторые устройства (COM и LPT, например) могут использовать те или иные порты и линии IRQ в зависимости от их настройки в BIOS Setup, но все эти данные можно узнать, вызывая соответствующие функции BIOS. Контроллеры жёстких дисков SATA могут "притворяться" обычными ATA, но по каким адресам они будут находиться, я не знаю -- не проверял. 2) Новая аппаратура материнской платы, не подпадающая под стандарты, связанные с теми или иными шинами (о них ниже). Главным образом это "хитрые" устройства, связанные с управлением электропитанием. Обнаружить и сконфигурировать их можно в соответствии со стандартом ACPI. 3) Аппаратура, подключенная к стандартизированным шинам и конфигурируемая с помощью средств, предусмотренных стандартами на эти шины. Наиболее яркий пример -- PCI и PCI Express.