实验要求:
求表达式x*y+z-200的值
实验步骤:
1.按照实验要求,画出相应的计算流程图
可以看到,先算x*y(保存在dx:cx),然后扩展z为双字节(dx:ax),计算x*y+z-200(保存在bx:cx),然后把结果移到w中。
2.按照基本的编辑步骤,编辑代码,并编译。
code:
DATA SEGMENT
X DW 1000
Y DW 2000
Z DW 3000
W DW 2 DUP(?) ;定义段结束
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AX,X
IMUL Y
MOV CX,AX ;把乘积结果保存起来(低8位)
MOV BX,DX ;高8位
MOV AX,Z
CWD ;位扩展,防止运算不匹配
ADD CX,AX
ADC BX,DX
SUB CX,200