编程:设在数据段中定义有三个变量X,Y,Z,请利用算术移位指令编写程序“sy05_1.asm”,计算出下式的值(假设乘积的结果只有低16位有效):
Z=10*(X+Y)
DATA SEGMENT
X DW 20H
Y DW 12H
Z DW ?
DATA ENDS
STACK1 SEGMENT PARA STACK
DB 10H DUP(10)
STACK1 ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA ;随机给ax赋值
MOV DS,AX ; 将ax的值赋给ds
MOV AX,X ;x赋值给ax
ADD AX,Y ;x和y相加
SAL AX,1 ;左移1位
MOV BX,AX
MOV CL,2
SAL AX,CL ;左移2位
ADD AX,BX ;相加
MOV Z,AX
MOV AH,4CH
INT 21H
CODE ENDS
END START