Составить программу по управлению манипулятором «мышь» - 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

Объяснение кода листинга программы

Список элементов кода:

  1. Объявление переменных:
    • MyPoint (указатель на структуру POINT).
    • Zona (указатель на структуру RECT).
  2. Задаются начальные значения для переменных Zona.
  3. Обработка событий мыши:
    • С помощью функции GetCursorPos получают текущие координаты указателя мыши и сохраняют их в переменной MyPoint.
    • Затем происходит проверка координат по осям X и Y и выполняется соответствующая обработка.
  4. Вызов функции Beep для воспроизведения звукового сигнала.
  5. Вызов функции ExitProcess для завершения работы программы.

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы