移位操作编程实验

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值