Прерывания BIOS
Как я хочу это реализовать:
- ещё в RM находим адреса обработчиков,
- записываем их в переменные,
- переходим в PM,
- создём дескрипторы на эти адреса,
- вызываем прерывание.
Как вы думаете, работать будет?
P.S. Я знаю что в RM адреса обрабочиков прерываний храняться в таблице векторов, где она находиться и в каком виде там хранятся эти адреса?
Не небудет. Вернее тут свои трудности будут. Делается это через переключение в RM или делаешь задачу VM86
Для некоторых прерываний есть точки входа для ПМ32 режима . для PCIBIOS всречал +80h к номеру функции , но не проверял (удобнее через порты ) . попробуй +80h для int13h мож чё и выйдет .
Вот ещё два вопроса:
Как из под PM заботать с мышкой?
Будет ли независимо от того куда подключена клава (COM, ps/2, USB) вызываьтся IRQ 1?
Соглассен что через порты проще. Но для установки IRQ нужно использовать BIOS.
Из PM можно работать с ACPI. ACPI это таблицы в памяти которые надо разобрать. Причем эти таблицы лежат не только в 1 мегабайте. А также есть порты и многое другое.
com овскийх клав я не встречал. Да будет вызываться IRQ 1 для клавы и свой для ps/2 мыши.
Клава и мышь USB эмулируют PS/2.
С мышкой работать через порты. Точно также как в RM.
А какой IRQ вызывается мышкой? Из каких портов читать информатцию от мыша?
Кулакова почитай у него все есть.
Что там хранится? В каких адреасах (области памяти типа 3?)? Где можно об этом почитать на русском?