Составить программу по управлению манипулятором «мышь» - Assembler
Формулировка задачи:
Помогите пожалуйста.
Составить программу по управлению манипулятором «мышь». Если координаты курсора «мышь» лежат в диапазоне 0<x<100 и 0<y<100, то курсор мышь имеет форму «+», в случае 100<x<200 и 100<y<200 - 0 и в остальных координатах -- «→».
Решение задачи: «Составить программу по управлению манипулятором «мышь»»
textual
Листинг программы
- .386
- .model flat, stdcall
- option casemap:none
- include \masm32\include\windows.inc
- include \masm32\include\user32.inc
- include \masm32\include\kernel32.inc
- includelib \masm32\lib\user32.lib
- includelib \masm32\lib\kernel32.lib
- .data
- MyPoint POINT <>
- Zona RECT <>
- .code
- start:
- add Zona.right,200
- add Zona.bottom,200
- add Zona.top,0
- add Zona.left,0
- invoke ClipCursor, ADDR Zona
- startD:
- invoke GetCursorPos, ADDR MyPoint
- cmp MyPoint.x,100
- jle checkY1
- cmp MyPoint.x,200
- jle checkY2
- jmp Strela
- checkY1:
- cmp MyPoint.y,100
- jle Plus
- jmp Strela
- checkY2:
- cmp MyPoint.y,100
- jge checkY3
- jmp Strela
- checkY3:
- cmp MyPoint.y,200
- jle Zero
- jmp Strela
- Plus:
- invoke Beep,1000,100
- jmp startD
- Zero:
- invoke Beep,100,100
- jmp startD
- Strela:
- invoke Beep,10,100
- jmp startD
- Call ExitProcess
- end start
Объяснение кода листинга программы
Список элементов кода:
- Объявление переменных:
- MyPoint (указатель на структуру POINT).
- Zona (указатель на структуру RECT).
- Задаются начальные значения для переменных Zona.
- Обработка событий мыши:
- С помощью функции GetCursorPos получают текущие координаты указателя мыши и сохраняют их в переменной MyPoint.
- Затем происходит проверка координат по осям X и Y и выполняется соответствующая обработка.
- Вызов функции Beep для воспроизведения звукового сигнала.
- Вызов функции ExitProcess для завершения работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д