Перейти к содержанию
СофтФорум - всё о компьютерах и не только

Посчитать сколько прошла мышка


Рекомендуемые сообщения

Нужно посчитать сколько прошла мышь по экрану в пикселах.

Что я думаю: точность особая не требуется, поэтому считаю, что сойдет прерывание от таймера 18,5 раз в секунду (1сh).

В обработчике прерывания использую функцию 03h прерывания мыши int 33h, которая возвращает текущие координаты мыши (сх - х координата dx - у координата).

Примерно так:

pixeli proc

mov ax,03h

int 33h

push cx

push dx

cmp cx,x_pr

jg met1

sub x_pr,cx;

mov ax,x_pr;

jmp met1_

met1:

sub cx,x_pr;

mov ax,cx;

met1_:

cmp dx,y_pr

jg met2

sub y_pr,dx;

mov bx,y_pr;

jmp met2_

met_2:

sub dx,y_pr;

mov bx,dx;

met2_:

pop y_pr;

pop x_pr;

add ax,bx;

add put,ax;;

ret

pixeli endp

Вопросы:

1. По большому счету надо бы корень квадратный из суммы квадратов изменений координат извлекать. Как это проще сделать?

2. Может произойти переполнение переменной put, как изменить (я думаю можно отдельно считать сотни, тысячи и т.д.)

3. Как потом вывести путь пройденный мышью в десятичном формате (ну не путь, а пробег что ли!)

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...