- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机]汇编步骤和Debug使用方法
实验预备知识 汇编程序的建立与调试
汇编程序的建立
1. 使用工具
(1)EDIT,记事本等文本编辑软件,编辑源程序,保存为.asm文件;
(2)ASM,MASM汇编程序,对源程序进行汇编,生成.obj文件-目标文件,以及调试用.LST-列表文件和.CRF-交叉引用表;
(3)Link连接程序,对使用的目标文件和库文件进行连接,生成.exe文件,同时调试用.map-地址映像文件;
如果源程序无语法错误,上述三步将生成可运行的.exe文件,如果运行结果无误,则完成对汇编程序的编程,如果运行后结果存在错误,需要进行调试。
(4)Debug调试程序,对.exe文件进行调试,修改,直到程序正确。
图3 目标程序生成步骤图
2. 编程过程
(1)用文本编辑软件,编写扩展名为.asm的源文程序文件。
(2)用汇编程序对编好的源文件进行汇编。
命令行: masm [*.asm] ↙
如果源文件中存在语法错误,则汇编程序将指出错误类型及位置,可根据这些信息重新编辑源文件,直至无语法错误,汇编后,将生成指定名称的目标文件.obj。
使用MASM50汇编程序进行汇编,输入命令行 masm或者masm *.asm后,根据提示,输入文件名,在汇编没有错误的情况下,如屏幕所示:
汇编程序可生成三个文件,*.obj,*.lst和*.crf。
*.obj-目标文件,用于连接生成可执行文件;
*.lst-列表文件(可选),汇编语言汇编的机器语言与汇编语言对照表,可用于调试;
*.crf-交叉引用文件(可选),给出了用户定义的所有符号和对每个符号定义、引用的行号。(3)目标文件的连接
命令行:link [*.obj] [*.obj] [*.lib] ↙
连接程序,将多个目标程序及库文件,连接生成可执行的*.exe文件,同时可选择生成*.map文件。
*.map-地址映像文件,给出内存地址分配的有关信息。
下图所示屏幕,为Link连接两个目标文件,没有错误的情况下,生成*.exe文件。
(4)执行程序
执行*.exe文件,观察程序运行结果,如果存在错误,需要进行调试。调试工具DEBUG是针对汇编语言程序设计的一种调试工具,熟练使用DEBUG有助于汇编语言程序员对于逻辑错误的调试。
汇编程序的调试
1. 调试方法
DEBUG工具的调试文件为可执行文件*.exe,在命令行窗口或者DOS环境下,执行DEBUG命令:
命令行 Debug [*.exe] ↙
DEBUG程序如果正常启动,提示符显示为“_”。出现“_”提示符后,根据调试的需要,输入正确的Debug命令,根据显示内容,修改源文件。
2. 常用DEBUG命令
(1) D命令-内存显示命令
命令格式 格式1:D[起始地址]↙
格式2:D[起始地址] [结束地址|L 字节数]↙
调试程序的过程中,可利用该命令可以察看指定范围的内存单元的内容,以确定对内存单元的修改是否正确。
可以通过命令指定显示的范围(格式2),在不指定显示长度的情况下(格式1),将显示从起始地址开始128个字节的内容,如果只写D,则将从上一个D命令显示结束的位置开始显示128个字节。在内存显示过程中,可以通过“Ctrl+S”键暂停,按任意键可继续显示,以防显示过快,来不及察看,另外可以通过“Ctrl+S”中止该命令的执行。
(2)E命令-数据编辑命令
命令格式 格式1:E[起始地址] [列表] ↙
格式2:E[起始地址] ↙
调试过程中,为了进行程序测试,需要改变内存或者寄存器的数据,此时利用DEBUG的E命令可以非常方便的进行修改。
E命令可以使用一连串的数据对内存连续地址单元进行修改,此时使用格式1,也可以修改某个地址单元的内容后,按“空格”键,继续修改高地址单元内容。使用E命令时,可以同时配合使用D命令,以确定是否正确的完成了对内存单元的修改。
(3)U命令-反汇编命令
命令格式:U[起始地址] [结束地址]
调试过程中,可以利用U命令将目标程序反汇编为汇编程序,以观察汇编指令的存放位置,汇编指令的正确与否,对于无源码的目标程序,还可以利用反汇编获取目标程序的源码 。
(4)G命令-运行程序命令
命令格式:G[=起始地址] [第一断点地址] [第二断点地址]….
调试过程中,可以利用G命令运行程序,观察结果的正确性,或者设置断点,利用G命令观察程序运行到某一位置是否正确,G命令最多可以设置10个断点,当程序运行置断点时,停止执行,并显示当前所有寄存器和标志位的内容,以及下一条将要执行的指令。
如果G命令无起始地址,则从当前CS:IP内容为开始运行。
(5)T命令-单步
您可能关注的文档
- [计算机]图书管理系统.doc
- [计算机]国立交通大学硕士学位及博士学位授予作业规章.doc
- [计算机]图的建立及遍历实验报告.doc
- [计算机]图凌制造执行系统白皮书.doc
- [计算机]图解WPS个性水印是如何炼成的.pdf
- [计算机]在 Windows Server 2003 中配置打印机和打印服务器设置.doc
- [计算机]图解.doc
- [计算机]图层应用例.doc
- [计算机]在PowerPoint2003中插入Flash及控件属性.doc
- [计算机]在Windows Server 2003系统中安装配置群集服务.doc
- 高级餐饮督导的职责与挑战.docx
- 自考专业(计算机网络)全真模拟模拟题及完整答案详解(全优).docx
- 自考专业(计算机网络)考试综合练习及完整答案详解(典优).docx
- 自考专业(计算机网络)模拟试题含答案详解【B卷】.docx
- 自考专业(计算机网络)经典例题附完整答案详解【典优】.docx
- 2025自考专业(计算机网络)全真模拟模拟题含完整答案详解【夺冠】.docx
- 自考专业(计算机网络)经典例题附参考答案详解【满分必刷】.docx
- 自考专业(计算机网络)检测卷附参考答案详解【培优B卷】.docx
- 2025自考专业(计算机网络)考前冲刺练习附答案详解(名师推荐).docx
- 2025自考专业(计算机网络)考前冲刺练习含答案详解(综合卷).docx
最近下载
- 北京市海淀区七年级第一学期期末统考地理试卷-初一地理试卷与试题.pdf VIP
- 西南18J312-楼地面-踢脚-变形缝-涂料构造.pdf VIP
- 国际私法【机考真题】-0069.pdf
- 旋塞阀装配图的画图步骤抄画下图所示旋塞阀的装配图课件.pptx VIP
- 优秀传统文化进幼儿园的实践性研究开题、中期、结题报告.pptx VIP
- 2023年烟草公司半结构化面试实例及解析(一).pdf VIP
- 2023年湖南省长沙市(初三学业水平考试)中考物理真题试卷含详解.docx VIP
- 业务连续性管理实施指南.docx VIP
- 《民族大团结》ppt课件.pptx
- 2025至2030年中国粉煤灰综合利用行业发展趋势及投资前景预测报告.docx
文档评论(0)