13281069谢洁_DEBUG调试环境实验.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DEBUG调试环境实验 实验目的 学习循环程序结构,掌握编写循环处理程序的方法和技巧。 通过循环结构程序熟悉汇编语言程序设计的主要方法。 了解和掌握程序设计过程中算法的选择。 掌握汇编语言调试方法。 实验内容 请编写程序,找出buff开始的内存单元中最大的数并存入MAX单元中,同时也找出最小的数并存入MIN单元中,在Debug下运行程序,查看数据区MAX和MIN的内容检验运行结果。 程序流程图 实验过程 1、编译生成.obj文件 2、LINK .obj文件生成.exe文件 3、调入程序 分析: CS = 076B表示代码段的开始的地址在076B,IP = 0000表示偏移量为0000,所以地址076B:0000就是代码开始的地址。同时076B:0000处的代码是:MOV AX,076A,对应于源程序的第一句:MOV AX,DATA 4、使用U命令反汇编自己编写的程序,查找到断点地址 5、使用G命令执行程序到断点,查看结果 分析: 从代码段地址可以看出,断点地址为076B:003D,使用G命令 g=0,3d执行程序到断点处,查看结果可以看出AX寄存器中的内容为4C8D,其中AL中存储的8D即为最小数。DS寄存器中的内容为076A,所以数据段的开始地址为076A。 6、用D DS:0 检查数据区MAX及MIN内容 分析: 因为DS = 076A,所以数据段开始地址为076A,用d 076a:0 命令可以查看数据段的内容。由于数据段中BUFF缓冲区占10个字节单元,所以MAX字节单元的地址为076A:000A,该单元所存的内容为78H,即最大值为78H(120);MIN字节单元的地址为076A:000B,该单元所存的内容为8DH,即最小值为8DH(-115)。 思考题 查看DOS操作系统把可执行程序装载到的内存的首地址及结束地址。 可执行程序首地址为:076B:0000 可执行程序结束地址为:076B:003D 查看MAX和MIN的段地址及偏移地址。 MAX 段地址:076A 偏移地址:000A MIN 段地址:076A 偏移地址:000B 分别计算数据段和代码段占用的地址空间大小。 数据段占用的地址空间:62字节 代码段占用的地址空间:12字节 实验总结 在本次实验中主要遇到了两个问题:1、编译和LINK连接程序时,由于对命令不熟悉,所以花费了比较多的时间。2、使用G命令时,刚开始由于窗口中只显示了一部分代码,把程序断点的地址弄错了,所以???行的结果不正确,在使用U命令查看程序时,由于程序没有完全显示出来,所以要再加一条U命令,以找到断点地址。 通过本次实验主要掌握了汇编程序的编写和汇编语言调试方法,学会了利用masm xxx.asm命令编译生成 .obj文件、link xxx命令生成 .exe文件以及在DEBUG调试环境下调试并运行XXX.EXE程序。同时在程序调试过程中掌握了R命令、U命令、G命令、D命令的使用。 源代码附录 DATA SEGMENT BUFF db -37,28,-115,-2,98,-100,93,120,56,-99 MAX DB ? MIN DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA START: MOV AX, DATA MOV DS, AX MOV CX, 8 LEA SI, BUFF MOV DL, [SI] INC SI MOV DH, [SI] CMP DL, DH JL N MOV AH, DL MOV AL, DH N: MOV AH, DH MOV AL, DL L: INC SI MOV DL, [SI] CMP AL, DL JG CHANGEAL CMP AH, DL JL CHANGEAH JMP NEXT CHANGEAH: MOV AH, DL JMP NEXT CHANGEAL: MOV AL, DL NEXT: LOOP L MOV MAX, AH MOV MIN, AL MOV AH, 4CH INT 21H CODE ENDS END START

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档