移位操作编程实验

编程:设在数据段中定义有三个变量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




猜你喜欢

转载自blog.csdn.net/pd137/article/details/80408862