您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 招聘面试 > 汇编编译器的使用及程序调试-实验报告
佛山科学技术学院实验报告课程名称汇编语言程序设计实验项目汇编编译器的使用及程序调试专业班级13网络工程1班姓名学号指导教师杨定安成绩日期一、实验目的1.、掌握Masm的使用;掌握Link的使用;掌握Debug或Deb2000的使用;熟悉一种界面操作下的集成汇编语言编译器。二、实验要求:1根据实验目的,认真完成实验中给出的任务;2根据实验过程和结果,完成实验报告;3在实验报告中应认真写出自己的实验心得和体会;4鼓励同学进行交流,但是禁止抄袭!5每人一组,独立完成。三、实验原理及内容:1、实验内容:本实验是汇编语言学习的第一个实验,要求利用汇编语言实现一个Dos界面下的最简单的“HelloWorld”程序,只要可以实现在屏幕上输出一行字符即可;2、实验原理:一般的汇编程序包括两个部分:数据段和代码段(有的程序还会有堆栈段),每个部分都有比较固定的格式;(1)汇编程序的输入和输出实现相对比较麻烦,需要调用Dos中断来实现,希望学习输入和输出中断是如何实现的;(2)对于在字符界面下的汇编程序从asm源代码到生成可执行exe文件中间有多个步骤,需要用到masm、link,需要熟练掌握;(3)汇编语言的调试相对也比较麻烦,需要用到Debug或Deb2000命令,希望掌握常用的Debug或Deb2000选项,能够看懂反汇编的结果。四、实验软硬件环境:奔腾系列机器,操作系统为Dos或者Windows系列,相关的汇编语言编译工具(MASM、LINK和DEBUG)以及集成编译器。五、实验步骤和方法:本实验重点在于熟悉汇编语言编译器的使用及程序的调试,实验内容相对比较简单,但是中间需要大家熟练掌握其中涉及到的每一个步骤,为后续实验打下良好的基础。下面是以MASM5.0,在winxp环境下,按照给定的任务为例进行的步骤说明(由于这是第一个汇编程序,我们提供一个最基本的源程序供大家参考;):1、将包括MASM、LINK以及DEBUG或Deb2000的文件架MASM拷贝到计算机C盘的根目录下;2、打开记事本,输入如下代码:DATASSEGMENT;数据段msgdbHelloWorld!,13,10,$;此处输入数据段代码DATASENDSSTACKSSEGMENT;堆栈段;此处输入堆栈段代码STACKSENDSCODESSEGMENT;代码段ASSUMECS:CODES,DS:DATAS,SS:STACKSSTART:MOVAX,DATASMOVDS,AXLEADX,msg;此处输入代码据段代码movah,9INT21hMOVAH,4CHINT21HCODESENDSENDSTART保存为firPro.asm,保存位置为“C:\masm\”。注意:后缀名一定要为“.asm”,否则,可能出现错误!使文件显示后缀名以便修改的方法如下图示:五、打开资源管理器,选择文件夹选项,六、将“隐藏已知文件类型的扩展名”选项前的去掉;七、将文件名“firPro.txt”重命名为“firPro.asm”即可。(1)在“运行”窗口键入“cmd”,回车,打开字符界面,进入masm文件夹下,如图1-3所示;图1-3进入masm文件夹(2)键入masmfirPro.asm,并回车,如图1-4所示。其中:Objectfilename是编译为目标文件的名称,直接回车,表示默认和源文件同名,只是后缀名不同,本试验中均为默认;编译之后文件夹中出现一个新文件:firPro.obj,如图1-5所示:图1-4masm后的结果图1-5masm命令的执行(3)键入linkfirPro.obj,回车,如图1-6所示:其中:RunFile是可执行的目标文件名,直接回车,表示默认和源文件同名,只是后缀名不同。编译之后文件夹中出现一个新文件:FIRPRO.exe,如图1-7所示:(4)键入可执行文件名FIRPRO,回车,显示的运行结果如图1-8所示:(5)利用Debug,进行反汇编,键入:Debugfirpro.exe,回车,如下图1-9所示:(6)在出现的光标后,键入U,出现反汇编后的结果,如图1-10所示:(7)键入q,回车,推出反汇编程序,如图1-11所示:至此,我们对MASM、LINK以及DEBUG的使用方法已经有了比较清楚的了解。另外,我们还提供了另外一个集成的编译环境,“MasmforWindows集成实验环境”,大家可以仿照上述步骤,熟悉一下所提供的集成试验环境。希望大家在熟悉了最基本的masm、link以及Debug的基础之上再去使用所提供的集成试验环境!图1-6link命令的执行图1-7编译之后出现的可执行文件图1-8可执行文件的执行结果图1-9反汇编之后的结果图1-10反汇编命令U的结果图1-11推出反汇编的命令四、实验预习要求:认真阅读实验指导书附录部分的内容,了解最基本的汇编语言的知识,包括8088/8086的体系结构和指令系统,在以后的实验中将会不断的用到相关的指令,在实验课中给出的课件中的相关内容也请大家仔细研读。根据实验过程和实验结果完成实验报告,并按时上交五、思考题:1、在图1-4中,masmfilename.asm后,如果不是连续回车,而是输入字符串结果会有什么不同;2、在图1-11中,每行的类似于“0B4F:xxxx”表示什么意思?3、在图1-11中,为什么首行和源程序不同,而又有那些是相同的,可否给出一些原因?注意:思考题不做硬性要求。六、实验结果分析及实验体会这次实验和之前做的有很大的不同,本次实验我学会了如何用汇编语言去编译成一个OBJ文件然后得到结果为EXE程序,重点是在调试,调试程序需要花很长的时间,最重要的是对编译原理和代码结构的熟悉理解。实验时候一开始在WinXP做到linkfriPro.obj这一步经常碰到如下图这个问题,实验后我和同学探讨后,觉得应该换编译器,在win7(32位系统下就可以)。
本文标题:汇编编译器的使用及程序调试-实验报告
链接地址:https://www.777doc.com/doc-5877785 .html