Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/26: Рейтинг темы: голосов - 26, средняя оценка - 4.62
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767

Получить координаты нажатий левой и правой кнопок мыши

15.11.2011, 22:25. Показов 5708. Ответов 28
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вот надо получить координаты нажатий левой и правой кнопок мыши.
меня вот что интересует
после каждого mov надо вызвать 33-е прерывание?
я имею ввиду
Assembler
1
2
3
4
mov ax,0000h ;инициализация мыши
        int 33h
        mov ax, 0001h ;показать курсор
        int 33h
и ещё для обработчика нажатий. какую функцию использовать надо 3h?
Assembler
1
2
3
4
5
6
7
8
9
Функция 03h - чтение положения маркера/состояния кнопок. Возвращает текущее положение маркера мыши и текущее состояние кнопок мыши.
Входные данные: AX = 0003H
Выходные данные: BX = состояние кнопок мыши
                                  Бит 0 = 1:нажата левая кнопка
                                  Бит 1 = 1:нажата правая кнопка
                                  Бит 2 = 1:нажата средняя кнопка
                                  Биты 3-15: не используются
                                  CX = координата X 
                                  DX = координата Y
тогда как обработать нажатия левой а потом правой?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.11.2011, 22:25
Ответы с готовыми решениями:

При нажатии левой клавиши "мыши" отразить курсор в левой половине экрана, а при нажатии правой - в правой
При нажатии левой клавиши "мыши" отразить курсор в левой половине экрана, а при нажатии правой - в правой, использовав в случае...

Количество нажатий левой кнопки мыши на экран в текстовом режиме
Прошу помочь кто сможет! Написать программу, которая выводит количество нажатий левой кнопки мыши на экран в текстовом режими. Конец...

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

28
 Аватар для Vadimych
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
17.11.2011, 09:35
Студворк — интернет-сервис помощи студентам
Artishok, функция 0ch int 10h вроде бы для графических видеорежимов. Так что надо такой режим для рисования установить. Вот написал код, программа рисует много весёлых разноцветных прямоугольников. Сколько раз нажмёшь на левую, затем на правую кнопки мыши, столько и нарисует. Наверное, можно оптимизировать.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
.model tiny
.code
.286
org 100h
start:
mov ax,13h
xor bh,bh
int 10h
 
xor ax,ax
int 33h
 
mov ax,1
int 33h
 
mov ax,0ch
mov dx,offset mouse_proc
mov cx,0ah
int 33h
 
xor ax,ax
int 16h
mov ax,3
int 10h
 
mov ax,2
int 33h
mov ax,0ch
xor cx,cx
int 33
ret
 
_cx dw 0
_dx dw ?
flag db 0
color db 1
 
mouse_proc proc
push cs
pop ds
 
 
mov ax,3
int 33h
 
test bx,1
je @f
inc flag
cmp flag,2
je @4
 
shr cx,1
mov _cx,cx
mov _dx,dx
 
@@:
test bx,2
je @f
cmp flag,0
je @f
 
mov ah,0ch
mov al,color
 
shr cx,1
cmp cx,_cx
jc @2
xchg cx,_cx
@2:
cmp dx,_dx
jc @3
xchg dx,_dx
 
 
 
@3:
push cx
@1:
int 10h
inc cx
cmp cx,_cx
jna @1
pop cx
inc dx
cmp dx,_dx
jna @3
 
inc color
cmp color,0fh
jne @4
xor color,0eh
@4:
and flag,0
 
@@:
retf
mouse_proc endp
end start
1
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
17.11.2011, 09:47  [ТС]
и снова ошибки определения меток.


метки немного исправил.
выдало что система не поддерживается режим на весь экран
0
 Аватар для Vadimych
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
17.11.2011, 10:02
Ну тут уж ничем помочь не могу. Семёрка она такая. Эмулятор надо с дос или хр.
0
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
17.11.2011, 10:32  [ТС]
запустил как-то в dosbox оригинальный код без исправлений.
но у меня почему-то рисует только линии по нажатию двух клавиш мыши в некоторых областях
0
 Аватар для Vadimych
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
17.11.2011, 10:51
Скриншот не получается. Может, с метками напутал? Вот мой .соm. Попробуй, будет работать, или нет.
Вложения
Тип файла: rar 6.rar (237 байт, 14 просмотров)
0
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
17.11.2011, 11:03  [ТС]
в вашем 6.com у меня также только полоски.
на чем вы тестируете?

Добавлено через 5 минут
ну в xp рисуется правда нижний угол немножко неровный

Добавлено через 2 минуты
для чего там нужно shr cx,1?
0
 Аватар для Vadimych
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
17.11.2011, 11:04
Цитата Сообщение от Artishok Посмотреть сообщение
нижний угол немножко неровный
Это след от курсора. Можно его отключить, тогда будет ровно. Но не видно будет, где щёлкаешь кнопками. Я проверяю на своей машине. У меня ХР. shr для приведения мышиной координаты х в соответствие с установленным видеорежимом.
0
ЧакЭ одобряЭ
 Аватар для Artishok
285 / 284 / 86
Регистрация: 27.12.2009
Сообщений: 1,767
17.11.2011, 11:07  [ТС]
где отключить?
0
 Аватар для Vadimych
639 / 482 / 12
Регистрация: 10.01.2011
Сообщений: 1,045
17.11.2011, 11:25
Цитата Сообщение от Artishok Посмотреть сообщение
где отключить?
В обработчике перед рисованием, а потом сразу включить. Всё будет ровно, и курсор тоже будет видно.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
17.11.2011, 11:25

Ограничить передвижение курсора мыши левой нижней четвертью экрана.При нажатие левой клавиши мыши выключить индикатор NumLock(+Звук),при нажатие право
Не могу решить подскожите кто знает.(Ограничить передвижение курсора мыши левой нижней четвертью экрана.При нажатие левой клавиши мыши...

Матрица. Вывести сумму строки/столбца по указанию левой/правой кнопок мыши.
Ввести матрицу N*M целых чисел. При указании на элемент матрицы правой клавишей мыши вывести сумму соответствующей строки, а левой - сумму...

Работа с PopupMenu левой и правой кнопками мыши
В моем проекте требуется задать возможность менять пользователем названия осей координат (показаны зеленым цветом) с помощью всплывающего...

Имитация нажатия левой и правой кнопки мыши
Тут на форуме просто свалка из таких тем, и везде мегаметоды для этого писать надо, Подскажите команду пожалуйста как иммитировать нажатие...

Тренажёр мыши, нажатие левой и правой кнопки поочерёдно
Вообщем проблема такая, мне нужно сделать тренажёр мыши. Я всё сделал вроде, но есть одна проблемка. Изначально на форме видно Image1 и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
29
Ответ Создать тему
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru