Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Assembler]Работа с мышкой


Автор: inisider 26.1.2008, 22:51
Есть такое задание:
В первую строчку экрана вывести 16 символов NUL (ASCII код 0) с разными значениями атрибута фона (старшая тетрада атрибута символа).

Написал первую часть, тоесть без работы еще с мышкой и она почему у меня не работает, помогите...
В другую строчку вывести любую фразу.Если курсор мишки находится на одном из символов NUL, то при нажатии правой кнопки мишки обеспкчить цвет символов фразы раный цвету выбранного фона.

Вот код первой части
Код

.386
text segment use16
assume CS:text,DS:data
begin :
mov AX, data
mov DS, AX

mov ax, 0003h
int 10h

mov ax, 0b800h
mov gs,ax

xor ax,ax
xor bx,bx

@1:
mov word ptr gs:[bx], ax
add ah,10h
inc bx
inc bx
cmp bx,20h
jne @1

mov ax, 0b800h
mov es, ax

mov si, offset txt
mov di, 80*2 ; 80 symbols*2 bytes <sym, attr>
mov cx, (offset @txt - offset txt) / 2
cld

rep movsw

mov AX,4C00h
int 21h
text ends

data segment use16
txt db 'T',0fh,'E',0fh,'S',0fh,'T',0fh,'!',0fh
@txt label byte
data ends

end begin


Прошу помочь со 2-й частью, есть идея, но как ее реализовать незнаю=(...
 есть интерфейс для работы с ней.
INT 33h вроде. поищите более точно.
нужно устроить цикл, в котором вызывать функцию для определления, пришло ли от мыши изменение или нажатие на клавишу
Помогите реалтховать 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)