当前位置: 代码迷 >> 汇编语言 >> 这个程序是要对一个32为的8000ffffH进行求补,他有异常,小弟我找不出来,麻烦高手帮小弟我看看
  详细解决方案

这个程序是要对一个32为的8000ffffH进行求补,他有异常,小弟我找不出来,麻烦高手帮小弟我看看

热度:388   发布时间:2016-05-02 04:56:56.0
这个程序是要对一个32为的8000ffffH进行求补,他有错误,我找不出来,麻烦高手帮我看看
DATA SEGMENT
 X DW 8000H
 Y DW FFFFH
 XX DW ?
 YY DW ?
DATA ENDS
CODE SEGMENT
MAIN PROC FAR
 ASSUME CS:CODE,DS:DATA
START:PUSH DS
      MOV AX,0
      PUSH AX
      MOV AX,DATA
      MOV DS,AX
      MOV DX,Y
      NOT DX
      ADD DX,1
      JC NO1
      MOV YY,DX
      MOV CX,X
      NOT CX
      MOV XX,CX
      JMP FINISH
NO1:  MOV YY,DX
      MOV CX,X
      NOT CX
      ADD CX,1
      MOV XX,CX
FINISH:RET
MAIN ENDP
CODE ENDS
END START
这个程序是要对一个32为的8000ffffH进行求补,他有错误,我找不出来,麻烦高手帮我看看

------解决方案--------------------
NOT CX有问题。因为CX最高位不能取反。

------解决方案--------------------
mov eax,0x8000ffff
neg eax
------解决方案--------------------
只看到进去,没看到返回.
  相关解决方案