Я только начал изучать язык "ассемблера".
Как я могу печатать «Hello World» каждый раз, когда я щелкаю левой кнопкой мыши, и печатать «Bad World» каждый раз, когда щелкаю правой кнопкой мыши на DOSBox.
Я только начал изучать язык "ассемблера".
Как я могу печатать «Hello World» каждый раз, когда я щелкаю левой кнопкой мыши, и печатать «Bad World» каждый раз, когда щелкаю правой кнопкой мыши на DOSBox.
Думаю, я нашел решение проблемы.
program SEGMENT
ASSUME CS:program,DS:program
ORG 100h
Сначала нам нужно вызвать курсор мыши. Проверьте каталог http://stanislavs.org/helppc/int_33.html
start:
MOV AX,01
INT 33h
http://stanislavs.org/helppc/int_33-5.html Мы не будем используйте другие биты, кроме двух последних битов, поэтому мы сделали остальные нулевыми с помощью оператора AND.
loop:
MOV AX,03
INT 33h
AND BX,3h
Мы сравниваем повернутое значение и отправляем функцию в соответствии с результатом
CMP BX,1
JE left
CMP BX,2
JE right
cmp BX,0
je endss
cmp bx,3
je endss
right:
MOV DX,OFFSET stringright
MOV AH,09h
INT 21h
jmp endss
left:
MOV DX,OFFSET stringleft
MOV AH,09h
INT 21h
endss:
jmp loop
stringright DB "Right Clicked $"
stringleft DB "Left Clicked $"
INT 20h
program ENDS
END start
GetMouseState
(stackoverflow.com/a/37795357/3298930) - person Jose Manuel Abarca Rodríguez   schedule 15.05.2017