
Шустрый

Профиль
Группа: Участник
Сообщений: 78
Регистрация: 25.11.2007
Где: Украина, Донецк
Репутация: нет Всего: 1
|
Мне надо вывести курсор и его координаты между нажатием правой и левой кнопками.То есть нажимаешь Левую-выводит одни координаты,двигаешь мышью -нажимаешь правую и выводит рядом другие.Вот мой код.Происходит обработка событий нажатия клавиш,а вот как вывести координаты не пойму.Читаю их с помощью а дальше вывести не получается помогите  Код | MASM MODEL tiny STACK 256
.data mousel db 32 dup (0) db 4 dup (255), 4 dup (0), 4 dup (255), 4 dup (0) ;db 4 dup (255), 4 dup (0), 4 dup (255), 4 dup (0) mouser db 32 dup (0) db 32 dup (17) ;strms db '1-bus mouse; 2-serial mouse, 3-inport mouse, 4-PS/2 mouse, 5-HP mouse: $' mes db 'WeLcOmE tO mY pRoGrAmM! $' text db 'name? ' tmp dw ? .code start: mov ax,@data ;адрес сегмента данных -> AX mov es,ax ;далее в ES mov ds,ax ;далее в DS xor ax,ax ;обнуление AX
videoinit: mov ax,12h ;инициализировать видеорежим int 10h ;видеорежим 640x480*16 colors
printmouse: mov ax,024h int 33h
xor ax,ax ;обнуление AX mov ah,09h mov dx,offset mes int 21h
mov ah,02h add cl,30h mov dl,cl ;вывод инфо о мыши int 21h
;mov ah,00h ;ожидание нажатия любой клавиши ;;int 16h
;mov ax,12h ;инициализировать видеорежим ;int 10h ;видеорежим 640x480*16 colors
mouseinit: mov ax,0000h ;инициализировать мышь int 33h mov ax,0001h ;показать курсор мыши int 33h
proc_left: mov ax,0014h ;установить обработчик событий мыши mov cx,0014h ;на нажатие левой или правой mov dx,offset process int 33h
mov ah,00h ;ожидание нажатия любой клавиши int 16h
mov ax,000Ch ; удалить обработчик событий мыши mov cx,0000h ;удалить обработчик событий мыши int 33h
mov ax,3 ;текстовый режим int 10h jmp exit
process: cmp ax,0004h ;если левая клавиша je left cmp ax,0010h ;если правая клавиша je right retf
left: push es ;сохранияем регистр mov ax,@data mov es,ax mov ax,0003h ;читаем положение курсора int 33h mov bx,0 ;позиция рисования mov cx,0 ;начала курсора mov ax,0009h ;изменить вид курсора mov dx,offset mousel int 33h ;адрес шаблона в mousel pop es ;восстанавливаем регистр retf
right: push es ;сохранияем регистр mov ax,@data mov es,ax mov ax,0003h ;читаем положение курсора int 33h mov bx,0 ;позиция рисования mov cx,0 ;начала курсора mov ax,0009h ;изменить вид курсора mov dx,offset mouser int 33h ;адрес шаблона в mouser pop es ;восстанавливаем регистр retf
exit: MOV AX,4C00H ;выйти из программы INT 21H
end start
|
|