1

我正在学习汇编语言课程,我需要用(GUI?)制作一个计算器,当然还要使用鼠标选择数字等等......

我快完成了,但我卡住了,我怎样才能得到鼠标的位置?我知道我必须使用 AX=3 和 INT33 并且坐标值将存储在 CX 和 DX 中。现在,数字的布局是 3x3,我如何检查该特定位置是否等于 4?

4

1 回答 1

0

如果您使用的是没有 ms-dos 的模拟器,这可能是一个非常大的问题。但是,既然您说您正在学习课程,那么模拟器可能具有 ms-dos。

Int 33h 是以寄存器 ax 作为输入的鼠标处理事件。输出结果可能因您使用的图形模式(40x85、320x200、Ext)而异。以下是您需要了解的一些基础知识。

  1. mov ax, 0000h:重置驱动程序(可能想先这样做)
  2. mov ax, 0001h:显示光标
  3. mov ax, 0002h:隐藏光标
  4. mov ax, 0003h:返回光标位置
  5. mov ax, 0004h:设置光标位置
  6. mov ax, 001Ah:设置鼠标灵敏度
  7. mov ax, 001Bh:获取鼠标灵敏度

在此语法中,您要求获取光标位置 [No. 4]。您首先需要将 ax 设为 0003h。返回值为CX(水平位置(x))、DX(垂直位置(y))和BX(按钮状态)。可以在此处找到此信息。

于 2017-08-02T08:31:37.170 回答