Если бы я хотел отобразить сообщение, когда пользователь нажимает на специальный символ на экране, я бы следовал этим шагам:
- Int 10h / AH = 00h - УСТАНОВИТЬ ВИДЕО в текстовый режим
- Int 10 / AH = 05h - ВИДЕО - ВЫБРАТЬ СТРАНИЦУ АКТИВНОГО ОТОБРАЖЕНИЯ
- Отображение специальных символов, по которым нужно щелкнуть
- Int 33 / AX = 0003h - MS MOUSE v1 .0+ - ВОЗВРАЩАЕМОЕ ПОЛОЖЕНИЕ И СТАТУС КНОПКИ
- Пересчитать координаты, полученные из прерывания мыши, в координаты символа (их следует разделить на размерность символа)
- Int 10 / AH = 02h - ВИДЕО - УСТАНАВЛИВАЙТЕ ПОЛОЖЕНИЕ КУРСОРА на эти рассчитанные текстовые координаты.
- Инт 10 / AH = 08h - ВИДЕО - ЧИТАЙТЕ ХАРАКТЕР И АТРИБУТ НА ПОЛОЖЕНИИ КУРСОРА
Возможно, вы пропустили какой-то шаг.
Когда положение указанного символа c на экране фиксировано и известно, достаточно прочитать координаты мыши при нажатии ее кнопки и посмотреть, соответствует ли оно позиции специального символа. Вам не нужно читать его обратно из памяти экрана.