почему-то не работает прерывание 0х20 для клавиатуры
я не буду отлаживать твой код, но предложу тебе несколько вопросов, которые помогут тебе посмотреть в нужные места:
- посылает ли клавиатура вообще IRQ?
- настроен ли контроллер прерываний на приём IRQ от клавиатуры?
- размаскирована ли линия IRQ от клавиатуры в контроллере прерываний?
- настроен ли контроллер прерываний на то чтобы вызывать int 0x20 в ответ на IRQ от клавиатуры? [1]
- получает ли процессор прерывание от контроллера прерываний?
- настроена ли запись в IDT для int 0x20 на вызов твоего обработчика?
- разрешены ли прерывания в процессоре?
[1] Коль скоро
здесь ты установил базовый вектор первого PIC в 0x20, то клавиатура, посылая IRQ1, должна вызывать int 0x21.