Советую еще раз внимательно "ознакомиться" с контроллерами прерываний! То что имеешь сейчас признак тебе... Не забывай КУДА подключен второй контроллер, у тебя типичный глюк новичка в этой теме. Тут девиз один - обрабатывать как можно быстрее и оптимальнее, не производя ни лишних тормозов ни тем более клинча подобного рода! Ошибки в обработчиках СЧИТАТЬ ЛИЧНЫМИ ОШИБКАМИ САПЁРА ибо результат подобный! Все что генерится как входное (т.е. требуестя вычитывать как IN AL,0x..) не затягивать в листинге, а ставить максимально вперёд в голову обработчика (освобождать, очищать, "отпускать с миром железо", пусть работает и не переполняется)! Перед читкой содержания полезно перво-наперво прочитать порты статуса по соотв. адресу, ну и т.п. Успехов!
Эксперементируя с защищённым режимом, я обнаружил непонятное(для меня) явление - если записать в защищённом режиме в регистр cr3 отличное от нуля значение,то всё виснет(PG=0).А в реальном режиме запись проходит нормально. И если затем перейти в PM, то всё равно всё OK(при cr3<>0).Объясните, почему так происходит.