福建农林大学汇编实验二解析.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
福建农林大学计算机与信息学院实验报告 系: 计算机 专业: 计算机科学与技术 年级: 姓名: 学号: 实验室号 计算机号 实验时间: 2015 指导教师签字: 刘庆连 成绩: 实验二 DEBUG的使用 1.实验目的和要求 (1)学习使用DEBUG的命令使用DEBUG命令在数据段中查看程序运行的结果 使用DEBUG,将下面的程序段写入内存,逐条执行,观察每条指令执行后,CPU中相关寄存器的内容变化。注意用T命令执行时,CSIP寄存器的内容MOV AX, 4E20 ADD AX, 1416 MOV BX, 2000 ADD AX, BX MOV BX, AX ADD AX, BX MOV AX, 001A MOV BX, 0026 ADD AL, BL ADD AH, BL ADD BH, AL MOV AH, 0 ADD AL, BL ADD AL, 9C (2)下列程序单步运行,注意ALBX,CX寄存器的变化,并观察数据段字母的变化。如果是将小写字母改成大写字母带注释的语句该如何修改 DSEG SEGMENT MSG1 DB ‘abc’ DSEG ENDS CSEG SEGMENT ASSUME CS: CSEG, DS: DSEG START: MOV AX, DSEG MOV DS, AX LEA BX, MSG1 MOV CX, 3 S: MOV AL, [BX] AND AL,;将AL中的ASCII码的第5位置0,变成大写字母。 MOV [BX], AL INC BX LOOP S MOV AL, 0 MOV AH, 4CH INT 21H CSEG ENDS END START (3)程序的跟踪执行操作 在DOS下直接输入文件主名就可以执行文件了,有的程序会显示结果,可能执行后什么结果都没有,是因为程序中没有显示命令。那么如何查看程序的运行结果呢? 程序执行过程的跟踪 (1)在DOS下输入:DEBUG 文件名.EXE 输入U命令 如果程序中有数据段,可以看到反汇编后第一句可执行语句为: A地址:B地址 MOV AXK地址 如:126:0000 MOVAX, 1260 其中:K地址就是数据段的段寄存器内容A地址为代码段段寄存器地址,B地址为程序第一条指令的偏移地址可以用T命令单步执行指令,执行到 MOV AH4CH时结束也可以用G命令执行整个程序,输入:G=B地址(如:G=0000) 用D命令查看程序执行后数据段的变化 输入:D K地址:0 如:D126:0在显示的数据中,对照源程序或LST文件查看结果所在的偏移地址的内容输入下面的程序,按上面的步骤运行一遍。这是一个两个数相的程序。结果存放在MSG2单元中,偏移地址为?值为多少? DSEG SEGMENT MSG1 DW 7856H, 2038H MSG2 DW ? DSEG ENDS CSEG SEGMENT ASSUME CS: CSEG, DS: DSEG START: MOV AX, DSEG MOV DS, AX MOV AX, MSG1 AND AX, MSG1+2 MOV MSG2, AX MOV AL, 0 MOV AH, 4CH INT 21H CSEG ENDS END START 3.编写调试下面的程序,用DEBUG查看数据段中的结果 1),X,Y,W为字节类型变量,结果存于Z单元,写出数据段和代码段。 X,Y为字节类型数,求写出完整的数据段和代码段,不用乘除指令 AL, (4):偏移地址:0004;值:2010 3(1): DATA??SEGMENT W?DB?34H X?DB?23H Y

文档评论(0)

武神赵子龙 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档