网站大量收购闲置独家精品文档,联系QQ:2885784924

《汇编语言》实验讲义剖析.doc

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《汇编语言程序设计》实验指导书 计算机系 宋勤 2013-5 《汇编语言》实验学时分配表 序号 实验项目名称 实验学时 实验报告或作业 课内 课外 1 汇编语言程序上机过程以及调试 2 2 1 2 顺序程序设计 2 2 1 3 循环程序设计 2 2 1 4 分支程序设计 2 2 1 5 子程序设计 2 2 1 6 I/O程序设计 2 2 1 7 实验七 综合程序设计 程序设计 2 2 1 合计 14 14 7 实验一汇编语言程序上机过程以及调试 一、预习内容 1. 工具软件MASM、LINK的使用 2. 常用DEBUG命令的使用: G,D,R,T,U,Q 3. 完整程序设计方法的格式。 二、目的要求 1. 掌握常用工具软件MASM、LINK的使用 2. 掌握常用DEBUG命令: G,D,R,T,U,Q 能灵活使用这些命令调试程序 3. 掌握完整程序设计方法的格式,能正确书写数据段,代码段等。 三、实验内容 用两种方法把字符串mess1复制到mess2串中去; 从左到右的方向复制 从右到左的方向复制 data segment mess1 db my name is songqin $ data ends EXTRA segment mess2 db 17 dup(?) EXTRA ends ;************************************************ code segment assume cs:code, DS:DATA, ES:EXTRA start: mov ax,DATA MOV ds,ax mov ax,EXTRA MOV es,ax leA si,mess1 leA di,mess2 mov cx,017 CLD rep movsB ret code ends end start 实验步骤: 1)用文字编辑工具(记事本或EDIT)将源程序输入完整后保存在D:\masm50下,注意保存时将文件扩展名改为.asm(如P77.asm)。 2)打开桌面的“命令提示符” 程序进入dos命令操作,先用cd masm50 命令改变路经,接着用 ”masm + 文件名” (如 masm P77,这里文件名可以不带扩展名) 对源文件进行汇编,产生.obj文件和.LST文件。若汇编时提示有错,用文字编辑工具修改源程序后重新汇编,直至通过。 3)用 ”link + 文件名” (如 link P77;) 将.obj文件连接成可执行的.exe文件(P77.exe)。 4)用debug调试程序,熟悉debug命令的使用: (1)打 debug P77.exe 进入debug 控制,显示提示符 ‘- ‘。 (2)用命令g执行程序,可得与步骤4相同的结果,也可用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况,并注意标志位有无变化。 (3)用命令u检查键入的程序并记录,特别注意左边的机器码和指令地址。如果一条u命令没有显示完全,可以再次输入u命令,该命令会紧接着上一个命令的输出继续显示。 (4)用命令’g+地址’设置断点,如g06,表示将断点设置在代码段的偏移地址为06h的指令前,并执行到该断点前。其中,命令中的地址项可以从上条命令u的运行结果获得。 (5)用命令r查看各寄存器的情况。 (6)用命令d0查看数据段的情况,0表示从偏移地址0开始,也可以指定其他偏移地址值。 (7)用命令 ‘e+地址’的方式修改数据区的字符串,其中’地址’指需要修改的数据段内存单元偏移地址,可根据上条d0命令获得。如e 09 表示从偏移地址09h开始修改数据。 (8)再次用命令g执行程序,查看执行结果。 (9)用命令q退出debug,如果在上述步骤中碰到异常,可以先用q命令退出后再进入调试。 四、实验报告或作业 1.分析程序,画出程序流程图 2.汇编,连接及调试时产生的错误,其原因及解决办法。 3.思考: 1) 上述实验中用e修改数据段的内容,是否改变原文件P77.asm的内容? 2) 用单步执行命令t运行程序, 运行到mov ax, 4c00h, int 21h指令后,cs和ip寄存器内容前后有何变化,产生变化的原因是什么? 附:DEBUG 使

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档