- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
调试工具debug使用
实验一 调试工具DEBUG的使用
1.1. 实验目的
学习如何启动在Windows的命令模式下启动DEBUG;
掌握DEBUG的常用基本命令;
学习如何用DEBUG进行跟踪调试。
1.2. 预备知识
进制转换
需要同学们熟练掌握二进制、八进制、十进制和十六进制的互相转换算法。
寄存器
寄存器是CPU内部的数据存储资源,是汇编程序员能直接使用的硬件资源之一。寄存器的存取速度比Cache还要快。
在16位CPU中,总共有4个16位数据寄存器AX、BX、CX和DX,每个16位寄存器又可分为2个8位寄存器(例如AX的高八位称为AH,低八位称为AL);2个变址寄存器DI和SI;2个指针寄存器SP和BP;4个段寄存器ES、CS、SS和DS;1个标志寄存器FLAG;1个指令指针寄存器IP。
标志位。
标志寄存器FLAG的每个位都可以作为标志位。16位CPU使用其中八个位表示溢出、中断、进位等状态。每个标志位都有置位和复位两种状态,它们在DEBUG的表示方法见下表:
表1.1 DEBUG中标志位的符号表示
标志名称
溢出
OF
方向
DF
中断
IF
负号
SF
零
ZF
辅助进位
AF
奇偶
PF
进位
CF
置位状态
OV
DN
EI
NG
ZR
AC
PE
CY
复位状态
NV
UP
DI
PL
NZ
NA
PO
NC
1.3. DEBUG的命令集
表1.2 DEBUG命令及其含义
命令格式
功能说明
A
[地址]
输入汇编指令
C
[范围] 起始地址
对由“范围”指定的区域与“起始地址”指定的同大小区域进行比较,显示不相同的单元
D
[范围]
显示指定范围内的内存单元内容
E
地址 字节值表
用值表中的值替换从“地址”开始的内存单元内容
F
范围 字节值表
用指定的字节值表来填充内存区域
G
[=起始地址] [断点地址]
从起点(或当前地点)开始执行,到终点结束
H
数值1 数值2
显示二个十六进制数值之和、差
I
端口地址
从端口输入
L
[地址 [驱动器号 扇区 扇区数]]
从磁盘读
M
范围 地址
把“范围”内的字节值传送到从“地址”开始的单元
N
文件标识符 [文件标识符…]
指定文件名,为读/写文件做准备
O
端口地址 字节值
向端口输出
P
[=地址] [指令数]
按执行过程,但不进入子程序调用或软中断
Q
退出DEBUG,不保存正在调试的文件
R
[寄存器名]
显示和修改寄存器内容
S
范围 字节值表
在内存区域内有哪些信誉好的足球投注网站指定的字节值表。如果找到,显示起始地址,否则,什么也不显示
T
[=地址] [指令数]
跟踪执行,从起点(或当前地点)执行若干条指令
U
[范围]
反汇编,显示机器码所对应的汇编指令
W
[地址 [驱动器号 扇区 扇区数]]
向磁盘写内容,(BX、CX)为写入字节数
关于参数的几点说明:
进制:在DEBUG中输入或显示的数据都是十六进制形式
分隔:命令和参数、参数和参数之间要用空格、逗号或制表符等分隔
地址:用“段值:偏移量”的形式来表示地址,也可用段寄存器来代表“段值”例如:1000:0,ds:10,es:200,cs:30等
范围:表示地址范围,它有二种表示方式:“地址1 地址2”和“地址1 长度”。
其中:“地址1”表示起始地址,要用“段值:偏移量”来表达;
“地址2”表示终止地址,只用“偏移量”来表示;
“长度”用字母’L’开头的数值来表示。
例如:100:50 100——段值为100,偏移量从50到100的内存区域;
100:50 L100——段值为100,偏移量从50开始的100个字节区域。
端口地址:二位十六进制数值
字节值:二位十六进制数值
字节值表:由若干个字节值组成,也可以是用引号括起来的字符串
驱动器号:0—驱动器A、1—驱动器B、2—驱动器C、3—驱动器D等
1.4. DEBUG使用示例
1.4.1 启动DEBUG
打开Windows命令窗口
在Windows 95/98的环境中,打开命令窗口的步骤为:点击“开始”→“运行”,输入“command”命令;
在WindowsXP的环境中,打开命令窗口的步骤为:点击“开始”→“运行”,输入“cmd”命令;
启动DEBUG
在命令窗口中启动DEBUG,启动命令一般为:DEBUG [文件名] [参数表]。其中:文件名指定被调试的文件,其包括名和后缀,参数表是被调试文件运行时所需要的参数。被调试的文件可以是系统中的任何文件,但通常它们的后缀为.EXE或.COM。
当DEBUG启动成功后,将显示连接符“-”,这时,可输入各种DEBUG命令。DEBUG中标志位的符号表示如表1.1所示,其所有命令及其含义如表1.2所示。
关于使用命令的几点说明:
在提示符“-”下才能输入命令,在按“回车”键后,该命令才开始执行
命令是单个
文档评论(0)