- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * ? 汇编语言程序的调试 ? 调试工具软件DEBUG ? DEBUG调试实例 汇编语言程序调试及工具软件DEBUG 一、 汇编语言程序的调试 1、上机步骤: 编辑源程序,生成.ASM文件; 汇编.ASM文件,生成.OBJ文件; 连接.OBJ文件,生成.EXE文件; 调试可执行的.EXE文件,检查其正确性; 运行可执行的.EXE文件,得到程序运行的结果。 2、调试步骤: (1)语法检查 通过MASM程序、LINK程序检查,生成.EXE文件。 (2)逻辑功能检查 通过调试工具检查功能的正确性。 二、调试工具软件DEBUG 1、简介 面向汇编语言的动态调试工具,有19条命令。 通过跟踪、测试对.EXE和.COM文件动态跟踪调试。 查找文件中的错误及运行结果。 可以直接编写、调试小程序。 2、DEBUG的启动方式 (1)在DOS状态下直接输入 C:DEBUG ADD.EXE (2)在DOS状态下输入 C:DEBUG -NADD.EXE -L 3、DEBUG命令的说明 (1)所有命令都是1个字母。 (2)命令和参数用空格或“,”分隔,但仅仅在两个16进制数之间才是必要的。 例:-DCS: 100 111 -DCS: 100,111 -D CS: 100,111 -D,CS: 100 111 (3)默认数据是16进制,不需要写H。 (4)每个命令由ENTER结束,并返回到“—”提示符下。 (5)可以检查输入指令的语法错误。 例1 -DCS: 100.111 ERROR 该输入不应该有“.” 例2 -A 154E:0008 MOV AX 2000 ERROR AX后面应该有“,” (6)命令提示符为“—”。 1、A汇编 格式:A[内存地址] 功能:从内存指定地址开始输入汇编指令,并汇编成机器码,相继存放在由指定地址开始的内存单元中。 注意: (1)不允许出现伪指令、宏指令、标号、变量。 (2)输入的数据以16进制表示。 (3)远返回的助记符为RETF。 (4)内存地址在“[]”中,否则默认为立即数。 (5)默认段为CS。 三、 DEBUG命令及使用简介 2 U反汇编 格式:U[起始地址] U[起始地址 结束地址] U[起始地址 L字节数] 功能:对内存的机器码指令进行反汇编。 注意: (1)默认字节数为32个。 (2)起始地址中可以只包含有效地址,默认段为CS。 (3)结束地址只包含有效地址。 例1:-U 1547:0000 52 PUSH DS 1547:0001 2BC0 SUB AX,AX 例2:-U1547:100 111 -U1547:100 L18 3、G执行程序 格式:G[ 起始地址] G[ 起始地址 断点地址1,断点地址2,….] 功能:从起始地址开始执行程序,执行到断点时停止,并显示所有寄存器及标志位的值,同时指出下一条要执行的指令地址及指令。 注意: (1)地址缺省时,从CS:IP开始连续执行。 (2)如果起始地址中只包含有效地址,默认段为CS。 (3)最多可设置10个断点,次序任意,按照地址从小到大顺序执行。 (4)“ ”不能确少,区分起始地址和断点地址。 (5)起始地址必须指向真正的程序指令。 例1:-G 0 08 AX 004B BX 0000 CX 001B DX 0000 SP 000C BP 0000 SI 0000 DI 0000 DS 2E5E ES 2E5E SS 2E6E CS 2E6F IP 0008 NV UP DI PL NZ NA PE NC 2E6F:0008 0442 ADD AL,42 4、T单步跟踪指令 格式:T[ 起始地址] T[ 起始地址 指令条数] 功能:从起始地址开始,逐条跟踪指令的执行。执行完设定的指令条数后就停止程序的执行。屏幕显示各个寄存器的内容和标志位的状态。 注意: (1)没有指定指令条数,每次只执行1条语句,即单步执行。 (2)如果没有指定地址,从当前CS:IP开始执行或接着上次的T命令的下一条指令执行。 例1:单步执行1条指令: —T AX 004B BX 0000 CX 0014 DX 0023 SP 1200 BP 1300 SI 0000 DI 0000 DS 2E5E ES 2E5E SS 2E6E CS 2E6F IP 0008 NV UP DI PL NZ NA PE NC 2E6F:0008 0442 ADD AL,42 例2:从CS:0004开始执行3条指令。 -T 4 3 5、D显示内存单元的内容 格式:D[起始地址] D[起始地址 结束地址] D[起始地址 L字节数] 功能:显示指定内存单元的内容。 注意: (1)默认段为DS,显示128个
文档评论(0)