使用所有寄存器,我该怎么办?汇编语言

时间:2013-05-13 19:29:06

标签: assembly cpu-registers tasm

我正在制作图形计算器并使用鼠标选择数字。我正在使用Windows XP

我正在使用INT 33h,需要AX = 3(点击)BX = 1(检查鼠标是否单击)CX =水平坐标,DX =垂直坐标。

我正在使用循环

获取鼠标的位置
MOUSEL:
 MOV AX,03H
 INT 33H
 CMP BX,1B
 JNE MOUSEL

然后我会检查位置

CHECK1: 
CMP CX,200
JL  MOUSEL  
CMP CX,240  
JG  CHECK2  
CMP DX,160  
JL  MOUSEL
CMP DX,200
JG  CHECK4
MOV AL,1    
MOV [SI],AL 
<<I need a counter here>>
JE  OPERATION

我只想获得三个数字,存储它们,然后执行算术运算。 我做错了什么?

1 个答案:

答案 0 :(得分:1)

您可以尝试使用pusha和popa

  MOUSELxxx:
  pusha
  MOUSEL:
  MOV AX,03H
  INT 33H
  CMP BX,1B
  JNE MOUSEL
  popa

  CHECK1: 
  CMP CX,200
  JL MOUSELxxx

  etc
相关问题