汇编语言实验3:DEBUG的使用

实验三 DEBUG的使用

1. 实验目的

1.学习使用DEBUG程序的各种命令。
2.了解计算机取指令、执行指令的工作过程。
3.掌握用DEBUG调试工具自编程序的方法。
4. 掌握程序片段使用DEBUG的调试方法。
5. 熟悉并搭建汇编语言环境。

2. 实验任务

  1. 安装Debug调试程序。
  2. 使用Debug的R命令查看、改变CPU寄存器内容;
  3. 使用Debug的D命令查看内存中的内容;
  4. 使用Debug的E命令查看内存中的内容;
  5. 使用Debug的U命令将内存中机器指令翻译成汇编指令;
  6. 使用Debug的T命令执行一条机器指令;
  7. 使用Debug的P命令执行一条机器指令;
  8. 使用Debug的A命令以汇编指令的格式在内存中写入一条机器指令;
  9. 综合练习:使用A命令,建立一段程序,程序功能:计算BX+CX+DX。要求用R命令预先设置BX、CX、DX几个寄存器的值。用U命令反汇编该程序,查看各指令机器码及存储位置。并用T命令单步执行该程序,记录其执行结果。

3. 实验步骤

3.1 DOSBox安装

在这里插入图片描述

图表 1 DOSBox安装


masm文件夹:

在这里插入图片描述

图表 2 masm


将工具从安装目录挂载到C盘:
在这里插入图片描述

图表 3 挂载


原生debug窗口较小,修改分辨率:
在这里插入图片描述

图表 4 屏幕大小配置


3.2 Debug环境测试

在这里插入图片描述

图表 5 汇编代码编辑


程序的编译链接:执行masm lab_1.asm;
在这里插入图片描述

图表 6 编译链接


程序的编译链接,执行link lab_1.obj;

在这里插入图片描述

图表 7 编译链接


程序的debug运行:
在这里插入图片描述

图表 8 查看寄存器


在这里插入图片描述

图表 9 查看当前程序指令


在这里插入图片描述

图表 10 单步执行


在这里插入图片描述

图表 11 单步执行


3.3 R命令

Debug的R命令查看、改变CPU寄存器内容:
在这里插入图片描述

图表 12 查看寄存器内容


修改AX中的值为00AC:
在这里插入图片描述

图表 13 修改AX寄存器内容


3.4 D命令

Debug的D命令查看内存中的内容:可以用“d 段地址:偏移地址” 的格式来查看。
在这里插入图片描述

图表 14 查看内存内容


3.5 E命令

Debug的E命令改写内存中的内容:将内存1000:0010开始的10个存储单元中的数据写为0,1,2,3,4,5,6,7,8,9。
在这里插入图片描述

图表 15 改写内存内容


3.6 U命令

Debug的U命令将内存中机器指令翻译成汇编指令:
在这里插入图片描述

图表 16 反汇编


在这里插入图片描述

图表 17 反汇编


3.7 A命令

Debug的A命令以汇编指令的格式在内存中写入一条机器指令:
在这里插入图片描述

图表 18 写入指令


3.8 T命令

Debug的T命令执行一条机器指令:
当前CS与IP的值分别为:CS=073F IP=0100 要使得计算机执行我们写入的1000:0020命令,需要先将当前CS与IP改为CS=1000 IP=0020
在这里插入图片描述

图表 19 T指令执行指令


3.9 P命令

P命令类似于T命令,只是不会进入子程序或中断服务程序中,遇到循环指令则一并执行完所有循环。不需要调试子程序,中断服务程序以及循环体时,要应用P命令,而不是T命令。
在这里插入图片描述

图表 20 P指令执行指令


3.10 综合练习

使用A命令,建立一段程序,程序功能:计算AX+BX+CX+DX。要求用R命令预先设置AX、BX、CX、DX几个寄存器的值。用U命令反汇编该程序,查看各指令机器码及存储位置。并用T命令单步执行该程序,记录其执行结果。

在这里插入图片描述

图表 21 写入程序


在这里插入图片描述

图表 22 修改CS:IP


在这里插入图片描述

图表 23 反汇编


在这里插入图片描述

图表 24 单步执行


在这里插入图片描述

图表 25 单步执行


在这里插入图片描述

图表 26 查看结果


4. 实验总结

  1. 成功配置并搭建起汇编语言环境
  2. 成功运行了汇编语言代码测试,熟悉了汇编语言运行环境
  3. 掌握了汇编语言程序编辑、汇编、连接、运行以及利用 DEBUG 调试程序的方法。4. 熟练汇编语言程序上机调试的方法和过程。能够独立自主的编辑代码解决一些小问题,对汇编及DEBUG程序调试有了初步的了解。
  4. 通过本次实验,熟悉了汇编语言在debug程序下的各种操作,进一步掌握了debug的各种指令命令,通过本次实验,现在可以通过debug来调试汇编语言程序,查看内存地址等,并根据debug的内容进行代码分析。
  5. 通过debug使用的实验,让我更了解到汇编语言程序的魅力,体会到学习汇编语言的乐趣,加深了对汇编语言的理解。
  • 4
    点赞
  • 43
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苡荏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值