汇编语言-实验一

一、实验目的

学会怎样进入DOS、Windows提供的实模式程序的调试方式,掌握Debug常见指令的使用。

二、软件准备
1.将masm5.0文件夹放到某盘根目录下。
2.安装dosbox。
3.打开dosbox。
4.用mount 命令关联masm5.0文件夹到C盘
5.在dosbox下打开虚拟的c盘
6.进入debug
7.开始实验。

  • 【我把压缩包放我的资源里哈,里面有masm文件和说明哟

三、实验内容

请完成实验,并回答思考题、完成要求的截图(没要求的不用)

  • 1:用Debug的R命令查看、改变CPU寄存器的内容;
  • 2:用Debug的D命令查看内存中的内容;
  • 3:用Debug的E命令改写内存中的内容;
  • 4:用Debug的U命令将内存中的机器指令翻译成汇编指令;
  • 5:小测试

四、实验过程和结果

注意:debug下默认十六进制

1

  • 用Debug的R命令查看、改变CPU寄存器的内容;
  • 输入debug进入debug编辑模式,再用R命令查看CPU寄存器内容,如下所示:

在这里插入图片描述
接下来改变AX的值为1010,如下图所示:
在这里插入图片描述
查看:
在这里插入图片描述
思考1:最后一行13d2:0100是什么?
答:这是CS和IP的值,CS=13D2,IP=0100,CS:IP指向的内存单元为13D2:0100,也就是说,内存13D2:0100处的指令为CPU当前要读取、执行的指令。

2

  • 用Debug的D命令查看内存中的内容;
    在debug模式中按下D命令,内存中的内容如下所示:
    在这里插入图片描述
    继续输入d命令,如下:
    在这里插入图片描述
    思考2:两次输入d命令,显示的内容有什么关联吗?
    答:“d 段地址:偏移地址”,偏移地址在第一次d命令执行后继续再次增加【🤐本人心很慌,是我自己写的】

指定地址的方式查看内存:
在这里插入图片描述
思考3:能指定开始和结束吗?怎么做?(可截图)
在这里插入图片描述
3

  • 用Debug的E命令改写内存中的内容;
    在上图的基础上,改变1000:0100至0103的内容为01,02,03,04,如下图所示:
    (提示:键入e空格1000:0100空格01空格02空格03空格04回车)
    在这里插入图片描述
    键入d命令查看修改的结果:
    在这里插入图片描述
    从键盘键入如下
    在这里插入图片描述
    在这里插入图片描述
    这种方式可以逐个修改内存数据,若输入01空格
    在这里插入图片描述
    3c表示原本1000:0100中的数据,输入01是将要改写的内容;5d表示原本1000:0101中的数据…回车可让改写结束。输入d命令查看改写的内容。
    在这里插入图片描述
    4:
  • 用Debug的U命令将内存中的机器指令翻译成汇编指令
    在这里插入图片描述
    下面是从13d2:011a处到13d2:011f处的汇编指令,如下:
    在这里插入图片描述
    5:小测试
  • 1>用D命令查看073f:0110处的内存
  • 2>用E命令改写073f:0110处的内存为
47  4F  4F  44  20  53  54  55  44  59  20
  • E命令改写074f:0120处的内存为 B8 34 12 40
  • 3>用D命令查看073f:0110处16个字节的内存 截图如下:
    在这里插入图片描述
    思考4:第3步中用D命令查看内存,最右边显示了什么?
    答:对应的ASCII码

073f:0110处内存的物理地址是多少?请用不同的段基址和偏移地址查看此处内存情况

【物理地址=段基址左移加0+偏移地址,集美们不是所有都这么求哈~我只是说这个题是这么求的,上课要听讲哟!】

物理地址:07500H
截图如下:
在这里插入图片描述
思考5:073f:0110对应的地址还有哪些段基址和偏移地址的组合形成?

073e:0120
074f:0010
074e:0020
074d:0030
072f:0210
...................
  • 4>用u命令查看074f:0120-074f:0123处内存。

对应的汇编指令如下:
在这里插入图片描述

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

少年游四方

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

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

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

打赏作者

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

抵扣说明:

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

余额充值