下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验一 汇编软件使用与基本编程实验1.1 实验目的1. 熟悉8086汇编语言程序设计的实验环境。2. 掌握汇编语言程序设计的上机步骤,初步学会利用Turbo Debugger 调试工具来调试汇编语言程序。1.2 实验环境汇编语言程序设计的实验环境如下:1. 硬件环境微型计算机(Intel x86 系列CPU)1台。2. 软件环境Windows XP操作系统。任意一种文本编辑器,如EDIT、NOTEPAD(记事本)等。汇编程序,如MASM.EXE或TASM.EXE。连接程序,如LINK.EXE或TLINK.EXE。调试程序,如DEBUG.EXE或TD.EXE。本实验指导中,文本编辑器使用NOTE
2、PAD(记事本),汇编程序使用MASM.EXE,连接程序使用LINK.EXE,调试程序使用TD.EXE。1.3上机步骤1建立汇编语言程序设计的实验环境(1)通过WindowsXP的资源管理器找到D盘的根目录,在D盘的根目录窗口中点击鼠标右键,在弹出的菜单中选择“新建”“文件夹”选项,新建一个文件夹,并把新建的文件夹命名为ASM。该目录就为以后源程序的存放目录。(2)把MASM.EXE、LINK.EXE、TD.EXE都拷贝到新建的ASM目录中。2建立ASM源程序在WindowsXP桌面的“开始”菜单中选择“程序” “附件”“记事本”选项,屏幕上出现记事本的编辑窗口。在编辑窗口输入源程序代码。在输
3、入、编辑源程序的过程中,可充分利用记事本的“编辑(E)”菜单中“剪切” 、“复制” 、“粘贴”和“撤消”等功能。源程序输入完毕后,选择记事本的“文件(F)”菜单,用其中的“保存(S)”功能将文件存盘。这时会弹出一个“另存为”窗口,在这个窗口中将保存源程序的路径选择为前面建立的D:ASM目录,“保存类型(T)”选择为“所有文件(*.*)”,文件名为HELLO.ASM(本例为D:ASMHELLO.ASM),如图1-1所示。 3用MASM.EXE汇编源程序产生目标文件源文件HELLO.ASM建立后,要使用汇编程序对源程序文件汇编,汇编后产生二进制的目标文件(.OBJ文件)。在WindowsXP桌面上
4、的“开始”菜单中选择“程序”“附件” “命令提示符”选项,打开“命令提示符”窗口。输入“D:”并回车,进入D盘的根目录,接着输入“CDASM”进入前面新建的ASM目录。输入“MASM HELLO.ASM”并回车,MASM程序会提示让你输入目标文件名(Object Filename),并在方括号中显示默认的目标文件名HELLO.OBJ。此时可按ENTER键确认目标文件名为默认的目标文件名HELLO.OBJ,也可重新输入新的目标文件名(建议输入目标文件的完整路径名,如:D:ASMHELLO.OBJ)。后面的两个提示为可选项,可直接按ENTER键跳过,也可输入汇编时产生的列表文件名(如HELLO.L
5、ST)和交叉文件名(HELLO.CRF)。注意,若打开MASM程序时未给出源程序名,则MASM程序会首先提示让你输入源程序文件名(Source Filename),此时输入源程序文件名HELLO.ASM并回车,然后进行的操作与上面完全相同操作时的屏幕显示如图1-2所示。图1-1 记事本的文件“另存为”窗口如果源程序有错误,汇编程序MASM会指出错误所在的行号和错误的原因。源程序的错误类型有两种类型:(1)警告错误(Warning Errors)。警告不影响程序的运行,但可能会得出错误的结果。(2)严重错误(Severe Errors)。出现错误,MASM将无法生成OBJ文件。图1-2 汇编源程
6、序操作时的屏幕显示 在错误信息中,圆括号里的数字为有错误所在的行号,后面给出了错误类型及具体错误原因。如果汇编时产生很多的错误,以至于出现滚屏,不易查看汇编程序指出的错误信息,此时需要用记事本打开(“文件类型(T)”选择为“所有文件(*.*)”)汇编时产生的列表文件HELLO.LST来查看。注意,汇编程序只能指出程序的语法错误,而无法指出程序逻辑的错误。修改源程序中的错误并保存文件,然后重新对源程序进行汇编。如果汇编时没有错误,MASM就会在当前目录下建立一个HELLO.OBJ文件(名字与源文件名相同,只是扩展名不同)。4用LINK.EXE产生EXE可执行文件在上一步骤中,汇编程序产生的是二进
7、制目标文件(OBJ文件),它是不可执行的。要想使我们编写的程序能够运行,还必须用连接程序(LINK.EXE)把OBJ文件连接为可执行的EXE文件。在“D:ASM”命令提示符下输入“LINK HELLO.OBJ”并回车,进入LINK程序后,连接程序会提示让你输入可执行文件名(Run File),并在方括号中显示默认的可执行文件名HELLO.EXE。此时可按ENTER键确认可执行文件名为默认的可执行文件名HELLO.EXE,也可重新输入新的可执行文件名(建议输入可执行文件的完整路径名,如:D:ASMHELLO.EXE)。后面的三项提示为可选项,可直接按ENTER键跳过;对于本例,只需输入定位图文件
8、名HELLO.MAP即可。注意,若打开LINK程序时未给出目标程序名,则LINK程序会首先提示让你输入目标程序名(Object Moodules),此时输入目标程序名HELLO.OBJ并回车,然后进行的操作与上面完全相同。图1-3 连接目标程序操作时的屏幕显示如果没有错误,LINK就会建立一个HELLO.EXE文件。如果OBJ文件有错误,LINK会指出错误的原因。本例中,对于无堆栈警告(warning:no stack segment)信息,可以不予理睬,它不影响程序的执行。当然,也可以在本例的程序中加入一个堆栈段,来消除这一警告错误信息,读者不妨试试。操作时的屏幕显示如图1-3所示。对于LI
9、NK同时建立的HELLO.MAP文件,为包含程序连接的信息以及各段的地址信息,可同样用记事本打开查看。5执行程序生成了HELLO.EXE文件后,就可以直接在命令提示符下运行此程序。在“D:ASM”命令提示符下输入“HELLO”并回车。本例程序的功能是在屏幕上输出显示20个空格和“HELLO!”字符并且回车、换行,自动返回DOS。如果源程序没有功能性错误,正确的结果会显示在屏幕上。如果程序不显示结果,我们如何发现程序的功能性问题呢?这时,我们就要使用TD.EXE调试工具来查看运行结果。实际上,大部分程序必须经过调试阶段才能纠正程序执行中的错误,调试程序时需要使用TD.EXE。6学习使用TD.EX
10、E在“D:ASM”命令提示符下键入“TD HELLO.EXE”并回车。TD启动后,呈现的是一个具有窗口形式的用户界面,如图1-4所示。窗口分为代码区、数据区、寄存器区、堆栈区和标志位区。在5个区域中,光标所在的区域称为当前区域。用户可以使用Tab键或Shift+Tab键切换当前区域,也可以在相应的区域中单击鼠标左键选中某区为当前区。在代码区和堆栈区分别显示一个称为箭头的特殊标志,代码区中的箭头标志指示出当前程序指令的位置(CS:IP),堆栈区中的箭头标志指示出当前堆栈指针位置(SS:SP) 。然后,按以下步骤操作:(1)查看代码区汇编指令,与HELLO.ASM源程序比较,看看源程序中那些语句有
11、机器码,那些语句没有机器码。记录源程序中的SEG DATA、OFFSET ONE、COUNT、NEXT在HELLO.EXE中的具体值并加以说明。(2)按F8键(单步运行)两次,查看并记录寄存器区AX和DS的变化。(3)按Tab键切换当前区域,直至当前区域为数据区(也可以在相应的区域中单击鼠标左键选中某区为当前区)。然后按Alt+F10组合键激活数据区局部菜单(也可以在相应的区域中单击鼠标右键激活该区局部菜单),选中Goto命令,输入DS:0000H并回车,观看数据区内容的变化,并留意数据区右边ASCII码字符区的内容,与HELLO.ASM源程序中ONEDB 20 DUP(32), HELLO!
12、,7,13,10 语句对比。根据观察结果画出本例程序的数据段,标注起始地址、段末地址,以及存储单元的内容。 (4)继续按F8键,观看寄存器区、标志位区和堆栈区的变化,并注意代码区箭头标志位置的变化。直至代码区箭头标志的位置移至 MOV AH,4CH 语句时,停止按F8键。记录下此时所有寄存器的内容,与前面记录的寄存器内容比较发生的变化。(5)代码区箭头标志位置移至 MOV AH,4CH 语句时,按ALT+F5键查看被调试程序的显示输出。(6)按ALT+F5键切换到TD用户界面,用FILE菜单OPEN项重新载入可执行文件HELLO.EXE,重复上面步骤。在第步时,选中Goto命令,输入DS:0000H并回车,然后使用方向键把光标移到0014H地址单元处(注意数据区的光标是一个下划线),将0014H001FH地址单元的内容改为01H、57H、45H、4CH、43H、4FH、4DH、45H、20H、59H、4FH、55H,继续和步骤,查看被调试程序的显示输出。分析程序显示输出的结果。代码区 数据区 寄存器区 堆栈区 标志位区图1-4 TD的具有窗口形式的用户界面有关更多的如何使用TD.EXE,请参阅课外读物“TD使用说明”部分。1.4实验参考程序通过实验,请指出参考程序的错误!DATASEGMENTONEDB 20 DUP(3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 北京交通大学定向就业协议书
- 河南省驻马店市遂平县2024-2025学年九年级上学期期中历史试题
- 《纸管》规范要求
- 安徽省滁州市南谯区2024-2025学年六年级(上)期中语文试卷(有答案)
- 低噪声对旋式局部通风机相关行业投资方案
- 技术检测与标准认证服务行业相关投资计划提议
- 工业机械手相关项目投资计划书
- 汽车4S店活动策划
- 工厂员工行为规范培训
- 机器学习技术在市场营销中的应用前景
- 男性导尿课件
- 双塔精馏正常停车双塔精馏正常停车
- 《萝卜生长过程》课件
- 安徽省A10联盟2023-2024学年高三上学期11月期中英语试题(含答案解析)
- 北师大版五年级数学上册典型例题系列之第四单元:平行四边形面积的实际应用专项练习(原卷版)
- 国开2023秋《电子商务概论》实践任务B2B电子商务网站调研报告参考答案
- 建沙厂计划书
- 新人教版高中英语必修二课文原文及翻译
- 2022年考研数学(二)真题(含答案及解析)【可编辑】
- 新外研版高中英语选择性必修一Unit4 what inspires you课件
- 康复训练档案
评论
0/150
提交评论