- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE 1
[摘要]借助 DEBUG 调试工具来发现汇编语言程序的错误所在并
加以改正。通过实验,掌握 DEBUG 的常用基本命令,学会如何在
windows 的命令模式下启动 DEBUG,进而学会如何使用 DEBUG 查看
CPU 和内存,以及进行程序的跟踪调试等。
1 实验目的
1.1学习如何在 Windows的命令模式下启动 DEBUG。
1.2掌握 DEBUG的常用基本命令。
1.3学习如何使用 DEBUG查看 CPU和内存以及进行跟踪调试。
2 实验设备及软件环境
装有 DOS系统及 MASM6.X的微机一台。
3 预备知识
3.1什么是 DEBUG?
Debug是 DOS、Windows都提供的实模式(8086方式)程序的调试工
具。使用它,可以查看 CPU各种寄存器的内容、内存的情况和在机
器码级跟踪程序的运行。
3.2常用的 Debug命令及其含义
表 1.1Debug命令及其含义
命令格式效用说明
R[寄存器名]查看、改变 CPU寄存器的内容
D[范围]查看指定范围内的内存中的内容
E起始地址字节值表用值表中的值替换从“起始地址”开始的内存单
元中的内容
U[范围]反汇编,将内存中的机器指令翻译成汇编指令
T[=地址][指令数]执行一条机器指令
A[地址]以汇编指令的格式在内存中写入一条机器指令
Q退出 Debug,回到 DOS状态
4 启动 DEBUG
4.1打开 Windows命令窗口
选择“开始”→“运行”→输入“cmd”命令
4.2启动 DEBUG
在命令窗口中启动 DEBUG,将显示连接符“-”,这时可输入
各种 DEBUG命令。
4.3关于使用命令的几点说明:
?
在提示符“-”下才能输入命令,在按“回车”键后,该命令
才开始执行;
?
?
?
?
命令是单个字母,命令和参数的大小写可混合输入;
可用 F1、F2、F3、Ins、Del、→等编辑键来编辑本行命令;
当命令出现语法错误时,将在出错位置显示“^Error”;
在 DEBUG中使用的数都是以十六进制来表示的。
5 实验内容
5.1R命令
作用:查看、改变 CPU寄存器的内容
(1)显示所有寄存器之中的内容:输入 R
我们重点关注 AX、BX、CX、DX、CS及 IP寄存器的内容,其他
寄存器 SP、BP、SI、DI、ES、SS及标志寄存器先不予理会。此外,
并列出了 CS:IP 所指向的内存单元处所存放的机器码,并将它翻译
为汇编指令。
(2)改变寄存器中的内容:输入 RAX
在提示符“:”后输入 1111,即可将 AX的值设置为 1111。在输入
R命令,查看修改后的寄存器值。
5.2D命令
作用:查看指定范围内的内存中的内容
(1)直接输入 D命令
DEBUG将输出 3部分内容,查看执行结果。
说明:
?
左边是每行的起始地址,用“XXXX:YYYY”表示,其中 XXXX
表示内存单元的段地址,YYYY表示内存单元的偏移量;
中间以十六进制的形式显示从指定地址开始的 128个内存单
元的内容,每行显示 16个字节的内容;
右边显示每个内存单元中的数据对应的可显示的 ASCII码字
?
?
符,若没有对应可显示的 ASCII码字符,DEBUG用“.”来代替。
(2)执行带参数的 D命令
若执行带参数的命令 D,DEBUG将显示指定地址范围的内容。带
参数的方式有三种。
?
?
?
方式一:D起始位置
DEBUG从起始位置开始显示 128个字节的内容。
输入命令:D1AF5:100
?
?
?
?
?
?
方式二:D起始位置结束位置
DEBUG从起始位置开始一直显示到结束位置。
输入命令:DDS:10011F
方式三:D起始位置 L长度
DEBUG命令从起始位置开始显示指定长度内容。
输入命令:DDS:100L10
使用带参数的 D命令后,接着使用 D命令,可列出后续的 128
个内存单元的内容。
5.3E命令
格式:E起始地址字节值表
或 E起始地址
作用:用值表中的值替换从“起始地址”开始的内存单元中的
内容
例 1:将内存 1000:0~1000:9单元中的内容分别写为 0、1、
2、3、4、5、6、7、8、9,可用“E起始地址数据数据数据数据数
据……”的格式来进行。
步骤:
①用 D命令查看 1000:0~1000:f单元的内容:D 1000:0 f
②用 E命令修改从 1000:0开始的 10个单元中的内容:E 1000:0
0 1 2 3 4 5 6 7 8 9
③用 D命令查看 1000:0~1000:f单元中内容的变化:D 1000:0
f
例 2:用 E命令向内存中写入字符。从内存 1000:0开始写入:
数值 1,字符“a”,数值 2,字符“b”,数值 3,字符“c”。
步骤:
①用 D命令查看 1000:0
文档评论(0)