装配8086鼠标第二次输入问题

时间:2017-05-12 16:20:43

标签: assembly input mouse x86-16

我正在为项目上学。我的项目是一个计算器,其中包括一些elemntaric动作。我画了一个BitMap并将其整理到屏幕上,一旦我要求输入一切正常。在第二次我要求输入没有任何反应 我附上相关程序 谢谢你很多

`<Switch id="userStatus" checked="false" />`

1 个答案:

答案 0 :(得分:0)

您提供的代码对于您可能遇到的问题并不多 以下是一些观察结果:

proc ActiveMouse
 push ax
 xor ax,ax
 int 33h;starting mouse
 mov ax,1
 int 33h;Mouse Pointer active
 pop ax
 ret
endp ActiveMouse

ActiveMouse 过程还应保留BX,因为AX = 0调用会在其中返回按钮计数。

mov ax,cx
mov cx,2
xor dx,dx
div cx
mov [XCoordinate],ax

为什么不用2 ???

来简化这种划分
shr cx, 1
mov [XCoordinate], cx
ror bx,1
LeftClickStatus:
rol bx,1

这些BX操作没有做任何有用的事情。 BX = 3调用返回AX,但不是其输入参数之一。

确保 GetClick 程序可以访问DS段。如果需要,请在:

上使用段覆盖前缀
mov [cs:YCoordinate], dx
mov [cs:XCoordinate], cx