Вопрос № 123887: Уважаемые эксперты, написал программу - резидент для вывода в нижнем правом углу в досе координат мышки, при её движении!
Выводить она категорически отказывается.
После
mov ax,3h
int 33h
В регистры bx,cx записываются X,Y ...
Вопрос № 123.887
Уважаемые эксперты, написал программу - резидент для вывода в нижнем правом углу в досе координат мышки, при её движении!
Выводить она категорически отказывается.
После
mov ax,3h
int 33h
В регистры bx,cx записываются X,Y координаты соответственно.
Что бы вывести их на экран внижний управый угол остаточно ведь написать
mov ES:3808, ax
mov CS:bx,ax
mov CS:cx,ax
Ну по крайней мере я так думал, видимо что - то не так надо делать!
Кто сможет помогите с этим вопросм разобраться пожалуйста.
Приложение:
Отправлен: 19.02.2008, 17:04
Вопрос задал: Firmament (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 2)
Отвечает: Зенченко Константин Николаевич
Здравствуйте, Firmament!
Смотрите приложение. 1)резидент устанавливаем на прерывание 1Сh, т.к. из книги С.Зубкова:IRQ0 (INT 8) — прерывание системного таймера. Это прерывание вызывается 18,2 раза в секунду. Стандартный обработчик этого прерывания вызывает INT 1Ch при каждом вызове, так что, если программе необходимо только регулярно получать управление, а не перепрограммировать таймер, рекомендуется использовать прерывание 1Ch. 2)Используется прямая запись в видеобуфер,
т.к. применять команды прерываний ( int ) в резидентных обработчиках противопоказано, а ещё это и быстрее. 3)Значения выводятся в микках, 8-мь пикселей на одно знакоместо.
Удачи!
Приложение:
--------- И только наступив на грабли мы приобретаем драгоценный опыт!
Ответ отправил: Зенченко Константин Николаевич (статус: Профессионал) Украина, Киев Тел.: +380958380164 Адрес: Украина г.Киев ---- Ответ отправлен: 22.02.2008, 20:24