Jump to content
СофтФорум - всё о компьютерах и не только

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


Recommended Posts

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

Что я думаю: точность особая не требуется, поэтому считаю, что сойдет прерывание от таймера 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. Как потом вывести путь пройденный мышью в десятичном формате (ну не путь, а пробег что ли!)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...