假设有一个双字X=12345678H,编程完成将此双字逻辑左移4位,并将移位后的双字存到双字变量Y中。

题目

假设有一个双字X=12345678H,编程完成将此双字逻辑左移4位,并将移位后的双字存到双字变量Y中。

实验目的

  1. 熟练8086指令集;
  2. 熟练掌握汇编语言三种基本结构编程及上机过程;
  3. 熟练使用调试工具。

程序源代码

DATA SEGMENT
    X DD 12345678H
    Y DD ?
DATA ENDS

CODE SEGMENT 'CODE'
    ASSUME CS:CODE , DS:DATA
    
    START:
        MOV AX , DATA
        MOV DS , AX
        
            MOV AX , WORD PTR X
            MOV DX , WORD PTR X + 2
            
            MOV     CL, 04
            SHL       DX, CL
            MOV     BL, AH
            SHL       AX, CL
            SHR      BL, CL
            OR        DL, BL
            
            MOV WORD PTR Y,  AX
            MOV WORD PTR Y + 2 , DX
            
        
        MOV AH , 4CH
        INT 21H
        
CODE ENDS
    END START

编译运行

编译运行看上一篇文章

dosbox使用

结果(用debug调试,截图看变量值)

进入debug:debug 文件名称.exe

不区分大小写

先按g(G 命令作用:执行汇编指令。),再d 076A:0(D 命令作用:显示内存区域的内容)076A是你的段地址,0就照写就好了

debug调试结果图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值