4,7 → 4,7 |
FirstByte DB 0 |
SecondByte DB 0 |
ThirdByte DB 0 |
|
timer_ticks_com dd 0 |
;*************************************** |
;* ÍÎÂÛÉ ÎÁÐÀÁÎÒ×ÈÊ ÏÐÅÐÛÂÀÍÈß ÎÒ ÌÛØÈ * |
;*************************************** |
68,7 → 68,7 |
shl AL,6 |
or AL,[SecondByte] |
cbw |
shl ax,1 |
call mouse_acceleration_com1 |
add AX,[0xFB0A] ;[XCoordinate] |
; Êóðñîð íå äîëæåí âûõîäèòü çà ëåâóþ èëè |
; ïðàâóþ ãðàíèöó ýêðàíà |
90,7 → 90,7 |
shl AL,4 |
or AL,[ThirdByte] |
cbw |
shl ax,1 |
call mouse_acceleration_com1 |
add AX,[0xFB0C] ;[YCoordinate] |
; Êóðñîð íå äîëæåí âûõîäèòü çà âåðõíþþ èëè |
; íèæíþþ ãðàíèöó ýêðàíà |
106,6 → 106,8 |
xor AX,AX |
@@Y2: |
mov [0xFB0C],AX ;[YCoordinate] |
mov eax,[timer_ticks] |
mov [timer_ticks_com],eax |
jmp @@EndMouseInterrupt |
|
@@Error: |
116,3 → 118,13 |
call ready_for_next_irq |
ret |
|
mouse_acceleration_com1: |
push eax |
mov eax,[timer_ticks] |
sub eax,[timer_ticks_com] |
cmp eax,[mouse_delay] |
pop eax |
ja @f |
shl ax,1 |
@@: |
ret |