assembly - 按下鼠标两次后退出的汇编程序
问题描述
所以现在我只能让它循环并等待点击,但是,一旦我点击,程序就会认为我仍然在按住点击或其他东西,因为一旦我点击按钮状态就永远不会改变。所以程序只是循环到无穷大。
这是我所拥有的:
.286
TITLE ''
.MODEL SMALL
.STACK
.DATA
clickR DB 'Right click',10,13,'$'
; clickI DB 'Left click',10,13,'$'
.CODE
main PROC FAR
MOV AX, @DATA
MOV DS, AX
MOV AX, 0h ; Init mouse
INT 33h
MOV AX, 01h ; Show pointer
INT 33h
mouse:
MOV AX, 05h ; Query Button-Pressed Counter
MOV BX, 00h ; Left button
INT 33h
CMP AX, 01h ; Check left button status
JNE mouse ; Not pressed? Go back
CMP BX, 02h ; Check if it has been pressed twice
JB right ; < 2? Go to label
JAE quit ; >= 2? quit
JMP mouse
right:
MOV AH, 09h ; Print that r-click has been pressed
LEA DX, clickR
INT 21h
JMP mouse ; Go back to mouse loop
quit:
MOV AX, 4C00h
INT 21h
main ENDP
END main
解决方案
推荐阅读
- javascript - 根据查询对象过滤对象数组
- c++ - 动态创建的数组没有得到正确的大小
- sql - ORA-00979: 不是 sql developer 中的 GROUP BY 表达式
- javascript - 如何使用 react-alert 在组件中显示消息?
- java - 错误:在项目':app'上找不到参数[目录'libs']的方法implimentation()
- r - 将 csv 导入 R 中,缺失值为“N
- angular - 如何显示单词列表中的建议单词?
- angular - 使用 slectedData undefined 以角度构建打印 div 按钮
- sql - 如何提取表中添加的最新记录?
- javascript - 一个不区分大小写或仅在数组中小写的基本 Vue JS 搜索过滤器?