汇编-DEBUG的使用.pptVIP

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编-DEBUG的使用

DEBUG的定义 DEBUG是专门为汇编语言设计的调试工具 可以检查、修改、存储单元和寄存器的内容 可以装入、存储及运行目标程序 也可用DEBUG汇编简单的汇编语言程序 但一般人们更多的是用它作为调试工具 DEBUG启动时的初始化动作 段寄存器CS、DS、ES和SS置为DEBUG程序后的第一个段。 指令指针寄存器IP置为100H(程序段前缀PSP后的第一个语句) 堆栈指针SP置为堆栈段的段末 其余通用寄存器均置为0 ,标志寄存器置为下述状态:NV? UP? EI PL? NE?? NA?? PO?? NC 如果DEBUG命令行含有文件名,段寄存器DS和ES指向程序段前缀PSP(Program Segment Prefix) ,寄存器BX和CX含有程序长度 DEBUG常用命令-D命令 显示存储单元的命令 格式为:D [address] 或 D[range] 例1: D 100 功能:查看偏移地址为100H处存储单元的内容 例2: D 100 200 功能:查看偏移地址为100H~200H处存储单元的内容 DEBUG常用命令-E命令 输入或修改存储单元命令(edit) 用给定的内容列表来替代指定范围的存储单元内容,格式:E 地址 [内容列表] 例1:-E?DS:100 F3‘XYZ’8D ;用五个字节替代存储单元DS:0100到0104的原内容 逐个单元相继修改的方法,格式:E 地址 例2:-E CS:100 ;回车后可键入新的内容 DEBUG常用命令-F命令 直接填写存储单元内容的命令Fill 格式:Fill range list 例如:F? CS:0100??L5? F3XYZ8D ;使CS:0100-0104单元包含指定的五个字节的内容 如果list中的字节数超过指定的范围,则忽略超过的项 如果list的字节数小于指定范围,则重复使用list填入,直到填满指定的所有单元为止 DEBUG常用命令-R命令 检查修改寄存器的命令-R(register) 显示CPU内所有寄存器内容及标志位状态 格式: R 显示和修改某个寄存器内容 格式:R 寄存器名 例:R CX 显示和修改标志位状态 格式:R F DEBUG常用命令-A命令 汇编命令A(assemble) 格式:A [address] 在指定地址处开始编写汇编程序 该命令允许键入汇编语言语句,并能把它们汇编成机器代码,相继地存放在从指定地址开始的存储区中。 必须注意:DEBUG把键入的数字均看成十六进制数,所以如要键入十进制数,则其后应加以说明,如100D。 DEBUG常用命令-G命令 运行命令G(go) 格式:G[=地址1][地址2[地址3…]] 其中,地址1指定了运行的起始地址 如不指定则从当前的CS:IP开始运行。 后面的地址均为断点地址 当指令执行到断点时,就停止执行并显示当前所有寄存器及标志位的内容,和下一条将要执行的指令。 DEBUG常用命令-T命令 跟踪命令T(Trace) 逐条指令跟踪 格式:T[=地址] 从指定地址起执行一条指令后停下来,显示所有寄存器内容及标志位的值。 如未指定则从当前的CS:IP开始执行。? 多条指令跟踪 格式:T[=地址][条数] 从指定地址起执行n条指令后停下来,n由条数指定。 DEBUG常用命令-U命令 反汇编命令U(Unassemble) 从指定地址开始,反汇编32个字节 格式为: U [地址] 例如: U 100 如果地址被省略则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。 对指定范围内的存储单元进行反汇编 格式为: U [range] 例如: U 100? 10C 从偏移地址为100H处开始反汇编10CH个字节 DEBUG常用命令-N命令 给编写的汇编程序命名N(name) 格式:N ?filespecs [filespecs] 命令把两个文件标识符(文件名)格式化写在CS:5CH和CS:6CH的两个文件控制块中,以便在其后用L或W命令把文件装入或存盘。 filespecs的格式可以是:[d:][path]filename[.exe] 例如: -N? test.exe -L 结果把文件test.exe从外存装入内存储器。 DEBUG常用命令-L命令 程序装入命令L(load) 将程序装入已在CS:5CH中格式化了的文件控制块所指定的文件 格式:L 或 L address 若命令没规定地址,则文件装入到CS:100开始的内存区中 若命令规定了地址,则装入到从指定地址开始内存区域中 但对具有扩展名.com或.exe 的文件,则始终是装入到CS:100的内存区中,即使指定了地址,此地址也被忽略。 DEBUG常用命

文档评论(0)

zijingling + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档