Почему не работает клавиатура? Я пишу ОС на fasm, и столкнулся с проблемой: почему-то не работает прерывание 0х20 для клавиатуры, в дебагегре проверял значение ISR.keyboard.keycode, и он не менялся!Код на GitHub Отрывок из кода:.keyboard: pushad pushf cli mov dx, 0x60 in byte al, dx mov byte [0xB8000], al mov byte [.keycode], al inc dx in byte al, dx and al, 1 out byte dx, al popf popad iretd .keycode db ? ; Я даже индикатор к экрану вывел, но все равно ничего не происходит

19 Июн 2022 в 19:52
200 +1
0
Ответы
1

Ваш код написан на языке fasm (flat assembler) и похоже, что проблема может быть связана с тем, что вы не правильно обрабатываете прерывание клавиатуры 0x20.

Первое, что нужно проверить, это правильность настройки обработчика прерываний. Убедитесь, что вы правильно установили обработчик прерывания 0x20 в таблице IDT (Interrupt Descriptor Table).

Также, не забудьте установить бит IF (interrupt flag) в регистре флагов, чтобы разрешить прерывания после выполнения вашего обработчика. В вашем коде я вижу, что вы используете cli и popf для управления флагами прерываний, но возможно, что что-то идет не так с их установкой.

Попробуйте также добавить проверку на код клавиши, чтобы убедиться, что действительно получаете данные от клавиатуры. Может быть, проблема не в обработке прерывания, а в самом вводе данных.

Если после всех этих действий проблема не устранится, возможно, стоит обратиться к документации по работе с клавиатурой и прерываниями в fasm, чтобы найти более детальные сведения о том, как правильно настроить обработку данных.

16 Апр в 18:18
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 493 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир