资源描述:
《微机原理 汇编实验一.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、微机原理汇编实验报告学院:理学院专业:电子信息科学与技术班级:091姓名胡金学号实验组实验时间2011-11-28指导教师签名成绩实验项目名称实验一DEBUG命令实验和MASM上机练习实验实验目的:1.掌握DEBUG的基本命令及其功能2.学习及掌握汇编语言源程序的书写格式和要求。3.学会使用EDIT、MASM、LINK、DEBUG等软件工具。4.熟练掌握在计算机上编辑、汇编、连接及运行汇编语言程序的方法。实验内容及步骤:一、汇编语言源程序的建立1.汇编语言源程序的建立 程序要求是:在屏幕上显示“Hello,world!”。设定源程序的文件名为hujin.as
2、m。 在DOS状态下键入以下命令:C:hujin>edithujin.asm此时屏幕的显示状态如下图所示。DATASEGMENTBUFDB'Hello,world!$'DATAENDSSTACKSEGMENTSTACKDW36DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETBUFMOVAH,9INT21HMOVAH,4CHINT21HCODEENDSENDSTART此时复制完源程序以后,全部选择粘贴,然后确保无疏漏或者错误
3、之后,可单击“命令提示符”左上角的光标,然后学则保存,或者按下“F3+E”保存。2.将源程序文件汇编成目标程序文件 C:hujin>masm hujin.asmMASM宏汇编程序的主要功能有以下3点:(1)检查源程序中存在的语法错误,并给出错误信息。(2)若源程序经汇编后没有语法错误,则产生扩展名为.OBJ的目标程序文件。(3)若源程序中使用了宏指令,则汇编程序将展开宏指令。源程序建立以后,在DOS状态下,采用宏汇编程序MASM对源程序文件进行汇编,其操作过程如下图所示。3.用连接程序生成可执行程序文件经汇编以后产生的目标程序文件(.OBJ文件)并不是可执
4、行程序文件,必须经过连接以后,才能成为可执行文件(即扩展名为.EXE)。 C:hujin>linkhujin连接过程如下图所示。如果汇编过程中有错误产生,则汇编程序将显示出错行号和错误信息。最后显示的部分是警告错误及严重错误数。若汇编过程中,想让汇编程序使用默认参数,则可以使用带有“;”的格式:C:hujin>masmhujin.asm;此方法,系统将不再提示用户输入文件名等信息,而是直接编译生成目标文件。当程序中没有定义堆栈段或虽然定义但不符合要求时,LINK在最后一行会给出类似“LINK:warningL4021:nostacksegment”的警告信息
5、,表示用户程序没有定义堆栈段。该警告信息不影响可执行程序的生成和正常运行,因为若用户程序没有定义堆栈段,程序运行时会自动使用系统提供的默认堆栈。在连接过程中,如果想让程序使用默认参数,则可以使用含“;”格式:C:hujin>linkhujin;4.程序的执行当我们建立了正确的可执行文件以后,就可以直接在DOS状态下执行该程序。C:MASM>hujin.exe如下图所示。如果使用测试数据均可运行并能看到正确结果,则说明该程序编写正确。但若得不到正确结果或结果无法看到(没有结果输出的情况下),则需要使用调试工具来调试程序了。二、DEBUGDEBUG是专门为汇编
6、语言设计的一种调试工具,它通过步进,设置断点等方式为汇编语言程序员提供了非常有效的调试手段。1、DEBUG程序的启动单机“开始”菜单,选择“程序”----“附件”---“命令提示符”,进入文件夹,输入“-DEBUG".2、DEBUG的主要命令(1)汇编命令A,格式为:-A[地址]该命令从指定地址开始允许输入汇编语句,把它们汇编成机器代码相继存放在从指定地址开始的存储器中。例如:-a136B:0100movax,100136B:0103movbx,200136B:0106movcx,300
136B:0109movdx,400136B:010C-(1)反汇编命令
7、U,有两种格式:1)-U[地址]该命令从指定地址开始,反汇编32个字节,若地址省略,则从上一个U命令的最后一条指令的下一个单元开始显示32个字节。例如:-u13C9:00001EPUSHDS13C9:00012BC0SUBAX,AX13C9:000350PUSHAX13C9:0004B8C313MOVAX,13C313C9:00078ED8MOVDS,AX13C9:0009B8C613MOVAX,13C613C9:000C8EC0MOVES,AX13C9:000E8DLEASI,[0000]13C9:00128D3E0000LEADI,[0000]13C9:0
8、016FCCLD13C9:0017B9