当前位置: 代码迷 >> 汇编语言 >> 这个是实现(w+xy-z)/x编译时说除法溢出,不懂如何改
  详细解决方案

这个是实现(w+xy-z)/x编译时说除法溢出,不懂如何改

热度:9866   发布时间:2013-02-26 00:00:00.0
这个是实现(w+xy-z)/x编译时说除法溢出,不懂怎么改
DATA   SEGMENT
X      DB 01H
Y      DB 04H
Z      DB 04H
W      DB 02H
RESULT DB ?
DATA   ENDS
CODE   SEGMENT
       ASSUME CS:CODE,DS:DATA
START: MOV  AX,DATA
       MOV  DS,AX
       MOV  AL,X
       IMUL Y
       MOV  CX,AX
       MOV  AL,W
       CBW
       ADD  AX,CX
       MOV  BX,Z
       SUB  AX,BX
       IDIV X
       MOV  RESULT,AH
       MOV  RESULT+1,AL
       MOV  AH,4CH
       INT  21H
CODE   ENDS
       END START

------最佳解决方案--------------------------------------------------------

DATA   SEGMENT
X      DB 01H
Y      DB 04H
Z      DB 04H
W      DB 02H
RESULT DB ?
DATA   ENDS
CODE   SEGMENT
       ASSUME CS:CODE,DS:DATA
START:
MOV  AX,DATA
       MOV  DS,AX
       MOV  AL,X
       IMUL Y
       MOV  CX,AX
       MOV  AL,W
       CBW
       ADD  AX,CX
       xor bx,bx
       MOV  bl, Z
       SUB  AX,BX
       IDIV X
       MOV  RESULT,AH
       MOV  RESULT+1,AL
       MOV  AH,4CH
       INT  21H
CODE   ENDS
END START
  相关解决方案