Мы вынуждены исказить текст в ответ на заблокированную вами рекламу.
Друзья! Проект modelist-konstruktor.com существует благодаря рекламе. Просьба добавить сайт в исключения блокировщика и обновить страницу.
«МЫШКА» СТАНЕТ РЕЗВЕЕ

«МЫШКА» СТАНЕТ РЕЗВЕЕ

Удобства, которые предоставляет пользователям компьютеров манипулятор «мышь», трудно переоценить, но… Ведь даже само наше Солнце не без пятен, что уж говорить о созданном «в незапамятные времена» MOUSE. СОМ-драйвере!

По мере приобретения опыта многие пользователи компьютеров ЕС1840 или ЕС1841 начинают предъявлять к «мышке» повышенные требования. В частности, к недостаточно высокой скорости перемещения курсора. А обоснованность своих все возрастающих претензий подтверждают наглядным примером: для перемещения курсора в Norton Commander через весь экран приходится «отвоевывать» на рабочем столе много места. Что же, все это верно. Как, впрочем, справедливо и другое. Чувствительность у «мышки» можно, оказывается, изменить, воспользовавшись (см. Касаткин А. И. Системное программирование. Минск, Высшая школа, 1993, с. 195.) функцией:

AX=000Fh.

Драйвер MOUSE.COM создает при загрузке прерывание 33h.

Функция 0Fh данного прерывания как раз и позволяет устанавливать желаемую чувствительность драйвера. Необходимо лишь в регистр АХ занести 0Fh, в СХ — чувствительность «мышки» по горизонтали, а в DX — чувствительность по вертикали. Вдобавок после загрузки MOUSE.COM в регистры СХ и DX заносится какое-либо целое число. Причем чем меньшее число (а минимальное здесь может быть равно 1) содержится в этих двух регистрах, тем больше у «мышки» чувствительность.

Сказанное выше иллюстрируется программой:

.MODEL TINY

.CODE

ORG 100H

Begin:

mov ax,0Fh

mov cx,1

mov dx,1

int 33h

end Begin.

Следует, однако, отметить, что такая программа изменяет чувствительность «мышки» только на время ее работы.

Предлагаемая читателям-пользователям ЕС1840 (ЕС1841) программа перехватывает прерывание 1Ch (пользовательский таймер) и остается резидентной. Как показала практика, она с успехом работает в Norton Commander и других программах, поддерживающих работу с «мышкой».

A mouse.asm

Copyright 1995 by AYP

.MODEL TINY
.СОDЕ
ORG 100H
begin
jmp init;Перейти на начало ;инициализации

;ре­зидентной части

int 1        ch proc far;Процедура обработ­

;ки прерывания 1 Ch

push ax;Сохранить рабочие

;регистры в стеке

push bx
push cx
push dx
push di
push si
push bp
mov ax.000Fh;Изменить чувстви-

;­тельность мыши

mov cx,1;на максимальную
mov dx,1
int 33h;Установить чувст­ви-

;тельность

pop bp;Восстановить ра­-

;бочие регистры

pop si
pop di
pop dx
pop cx
pop bx
mov a1,20h;Необходимое

;действие для вы-

;хода из

out 20h,a1;обработчика пре­-

;рывания

pop ax

iret

int 1 сhendp
init;Инициализация ;резидентной части
mov ah,09;Напечатать заго­-

;ловок программы

leadx.cop
int21h
mov ах,0;Инициализация

;мыши

int33h
cmp ах,0;Мышь присутствует?
jne resid;Да — продолжить
mov ah,09;Нет — выдать сооб­-

;щение

leadx.mess
int21 h
ret;и выйти
messdb’Нет мыши!!!’ ,10,13,’$’
resid
cli;3апрет преры-

;ва­ний

mov dx,offset int 1 ch
mov ax,251 Ch;Изменить вектор ;прерывания 1 Ch
int21 h
sti;Разрешить пре-

;ры­вания

mov dx, off set init
int      27h;Завершить про-

;грамму и остаться ;резидентной

copdb’AMOUSE-драйвер ’чувствительности мыши.’ 10,13
db

db

db

db

’Copyright 1995 by’,10,13 ’ Assotiation’, 10,13 ’Young’,10,13 ’

’Programmers’, 10,13,’$’

endbegin

При загрузке программы происходит инициализация «мышки» и проверка ее присутствия. Если «мышка», как говорится, налицо, программа, завершая свое выполнение, остается резидентной. Более того, часть резидентной программы сначала сохраняет рабочие регистры в стеке, чтобы не нарушать работу компьютера. А затем изменяет чувствительность «мышки» и восстанавливает рабочие регистры.

Текст программы, написанный на языке Турбо-Ассемблер, приводится.

В.КОВАЛЕНКО,

г. Минск

Рекомендуем почитать

  • АКТИВАТОР ДЛЯ РАССАДЫАКТИВАТОР ДЛЯ РАССАДЫ
    Казалось бы, нет ничего привычнее, чем вода, — и все же нет ничего более загадочного, чем она. Вспомним: от родника до океана — формы ее существования в жидком состоянии; струйка пара из...
  • ПОДБИРАЕМ ПАРНЫЕ ДИОДЫПОДБИРАЕМ ПАРНЫЕ ДИОДЫ
    Парные диоды чаще всего подбирают по идентичности сопротивлений. Но иногда возникает необходимость определить сходство динамических характеристик, что сделать гораздо труднее. Тем не...
Тут можете оценить работу автора: