您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 汇编程序设计实验指导书
仰恩大学电子工程系实验教材系列8086/8088汇编语言程序设计实验指导书电子工程系编2012年1月I安全用电须知安全用电是实验中始终需要注意的重要问题。为了做好实验,确保人身和设备的安全,实验时,必须严格遵守下列安全用电规则:(1)接线、改接、拆线都必须在切断电源的情况下进行,即“先接线后通电,先断电再拆线“。(2)在电路通电情况下,人体严禁接触电路不绝缘的金属导线或连接点等带电部位。万一遇到触电事故,应立即切断电源,进行必要的处理。(3)实验中,特别是设备刚投入运行时,要随时注意仪器设备的运行情况,如发现有超量程、过热、异味、异声、冒烟、火花等,应立即断电,并请老师检查。(4)实验时应精神集中,同组者必须密切配合,接通电源前须通知同组同学,以防止触电事故。(5)电机转动时,防止导线、发辫、围巾等物品卷入。(6)了解有关电器设备的规格、性能及使用方法,严格按额定值使用。注意仪表的种类、量程和连接使用方法,例如,不得用电流表或万用表的电阻档,电流档去测量电压;电流表、功率表的电流线圈不能并联在电路中等等。(7)请穿绝缘胶鞋进入实验室。II目录第一部分8088/8086汇编语言上机实验指导一、上机实验目的……………………………………………1二、上机前的准备……………………………………………1三、用“记事本”编辑汇编的源程序……………………………………………1四、MASM.EXE编译程序的运行……………………………………………1五、LINK.EXE生成可执行文件的运行……………………………………………2六、DEBUG.EXE调试程序的运行……………………………………………2七、MasmforWindows集成实验环境……………………………………………3第二篇汇编语言程序设计上机实验实验一:运行一个简单的汇编语言源程序……………………………………………4实验二:DEBUG命令的使用……………………………………………6实验三:变量的属性……………………………………………8实验四:DOS功能的调用与延时程序……………………………………………11实验五:综合实验……………………………………………14实验六:串操作实验……………………………………………19实验七:子程序设计实验……………………………………………23III1第一部分8088/8086汇编语言上机实验指导一、上机实验目的1.初步了解8086/8088汇编程序的基本结构,利用WindowsXP附件的记事本编辑简单的汇编语言源程序,形成扩展名为.ASM的文本文件格式(即汇编源程序)。2.学习宏汇编程序MASM.EXE,连接程序LINK.EXE,调试程序DEBUG.EXE的使用。3.在微机上、在“MasmforWindows集成实验环境”下,运行并调试8086/8088汇编源程序。二、上机前的准备1.PC机的操作系统可以是Windoes98,也可以是WindowsXP等操作系统。2.硬盘上安装“MasmforWindows集成实验环境”软件。或者含有MASM、LINK、DEBUG等文件的MASM5文件夹。(WindowsXP自带DEBUG文件,因此应删除MASM5文件夹中的DEBUG文件,否则会产生冲突。)3.学习MASM、LINK、DEBUG三个文件的使用方法。4.准备好上机的源程序,并认真去读懂它。(注:下面介绍的不是“MasmforWindows集成实验环境”软件的使用方法,而是直接在DOS状态下,使用MASM、LINK、DEBUG三个文件的方法。首先应将MASM5文件夹安装在C盘或D盘的根目录下)三、用“记事本”编辑汇编的源程序1.用“记事本”编辑好源文件LH,LH假设为李华同学的源程序文件名(下同),则文件名是LH.ASM,文件的扩展名一定要用.ASM。然后保存在C:\MASM5的文件夹中。2.编辑源程序时,注意不要有空行、光标也不要超过最后一行。四、MASM.EXE编译程序的运行MASM.EXE编译程序主要目的是生成扩展名为.OBJ的目标文件。在DOS状态下,进入MASM5文件夹中,即屏幕显示C:\MASM5。此时键入MASM,回车后屏幕显示:Sourcefilename[.ASM]:键入.ASM文件的文件名,如下:Sourcefilename[.ASM]:LH(回车)Objectfilename[LH.OBJ]:(回车)Sourcelisting[NUL.LST]:LH(回车)如果LH.ASM文件正确,会生成目标文件(LH.OBJ)与列表文件(LH.OBJ)。汇编的目的是要形成目标文件,即机器代码文件,也就是LH.OBJ文件。该文件不是文本文件,因此用编辑软件是看不到的,看到的只是一些乱码。列表文件(LH.OBJ)是非常重要的一个文件,它将一条汇编语句指令与一条机器码指令对2应起来,并且给出了这条指令偏移地址的首地址。它对程序的分析非常有用,而且有助于汇编语言的学习。五、LINK.EXE连接程序的运行LINK.EXE连接程序的主要目的是生成扩展名为.EXE可执行程序。在C:\MASM5子目录下,键入LINK,回车后屏幕显示:Objectmodules[.OBJ]:键入OBJ文件名,如下:ObjectModules[.OBJ]:LH(回车)RunFile[LH.EXE]:(回车)ListFile[NUL.MAP]:LH(回车)扩展名为.EXE程序是在DOS状态下的可执行程序。你只要键入LH.EXE文件的文件名LH就可以运行程序。扩展名为.MAP的LH.MAP程序是映像文件。六、DEBUG.EXE调试程序的运行DEBUG是调试程序,它是可以对EXE可执行程序进行调试。在DOS状态下,键入:C:\MASM5DEBUGLH.EXE回车后屏幕显示:-上面的‘-’是DEBUG状态下的提示符,表示目前系统在DEBUG的控制之下。我们主要学习DEBUG的Q,R,U,G,D,E,F,T命令。这些命令的使用方法是在‘-’提示符后键入相应命令的字母,如:-Q回车后就立即返回DOS状态。上面各命令分别解释如下:1.-Q表示退出DEBUG状态。2.-R显示CPU中除FLAG寄存器外的14个寄存器的内容,对于FLAG寄存器只显示它的OF,DF,IF,SF,ZF,AF,PF,CF的状态。它是用两个字母来表示是0还是1的。表示的字母如下:标志位名OFDFIFSFZFAFPFCF为1对应符OVDNEINGZRACPECY、为0对应符NVUPDIPLNZNAPONC如想查看某一寄存器的内容,可在-R后键入寄存器名,如:-RAXAX2B6F:1200上面第二行2B6F为AX中的内容,第三行冒号后的1200为你键入的要修改的内容。33.-U它是反汇编调试命令。(选看)因为被调试的程序LH.EXE是机器码语言,必须翻译成汇编语言程序人们才好读懂。注意反汇编的范围是在本段内。该命令有下面三种格式:-U-----(它是将当前CS:IP所指的地址开始的机器码反汇编32个字节指令。)-U地址-----(地址是反汇编开始的地址,可以是偏移地址也可以是逻辑地址。如:-U2A[002A是反汇编开始的偏移地址]-U11D0:0100[11D0:0100是反汇编开始的逻辑地址])-U地址1地址2-----(从地址1反汇编到地址2,如:-U105F[从当前段的偏移地址0010反汇编到005F]-U01F5:105F[从01F5段的0010偏移地址开始反汇编到本段的005F为止]4.-G它是设置断点及启动程序运行命令。它有三种格式:-G-----(断点是程序结束,它从当前CS:IP所指地址开始直到程序结束。)-G=地址-----(从指定的地址开始直到程序结束)-G=地址1地址2----(从指定的地址1开始运行到地址2结束)5.-D它是显示内存单元内容命令。它有两种格式:-D地址-----(显示从当前地址开始的内存128个字节的内容,如:-DDS:00[显示从DS所表示的数据段段地址,偏移地址0000开始的128个字节的内容])-D地址1地址2-----(显示从地址1开始到地址2所有单元的内容,如:-DDS:00FF[显示从DS所表示的数据段段地址,偏移地址0000开始到偏移地址为00FF结束的所有单元的内容])6.-E一次修改一个内存单元内容命令。格式为:-E地址-----(命令输入后显示该地址所指示单元的内容,此时可键入要修改的内容。修改后可按回车键或空格键,按回车键为结束修改,按空格键可继续修改下一单元的内容)7.-F将内存中若干个连续单元赋与同一数值,也就是修改。常用该命令给内存某一区域清零。如:-FDS:003F00-----(将地址为DS:0000~DS:003F的64个单元内容设为00H,也就是对这64个单元清零)8.-T执行一条或多条指令的命令,也可称为单步执行命令。格式:-T-----(命令后面没有参数,表示执行当前CS:IP为地址所指的一条指令)-T地址-----(执行地址所指的一条指令)-T地址|n-----(执行以当前地址开始的n条指令)七、MasmforWindows集成实验环境4Masmforwindows集成实验环境是针对汇编语言初学者的特点开发的一个简单易用的汇编语言学习与实验软件,现在已全面支持最新操作系统VISTA,支持DOS的16/32位汇编程序和Windows下的32汇编程序,它具有错误信息自动定位、关键字实时帮助并且在帮助中动画演示汇编指令的执行过程、语法着色、无限次撤消与恢复、WORD式的查找、替换、定位、支持中文、长文件名等功能。(具体操作可参看此软件的帮助文件)第二篇汇编语言程序设计上机实验实验一:运行一个简单的汇编语言源程序1.实验目的:1)通过运行一个简单的汇编语言源程序,了解8086/8088汇编语言源程序的逻辑结构。2)初步掌握汇编语言源程序上机汇编、调试、运行的过程。2.实验程序:下面是一个16位二进制加法的源程序:STACKSEGMENTPARASTACK'STACK'DW256DUP(?);设置堆栈段TOPLABELWORDSTACKENDSDATASEGMENTDTADW2C3BHDTBDW0A6DFH;设置数据段DTCDW?DATAENDSCOSEGSEGMENTASSUMECS:COSEG,SS:STACK,DS:DATA;规定COSEG是代码段,STACK堆栈段,DATA是START:MOVAX,STACK;数据段MOVSS,AX;设置堆栈段的段地址MOVAX,TOPMOVSP,AX;设置堆栈指针MOVAX,DATA;MOVDS,AX;设置数据段段地址MOVBX,DTAMOVCX,DTB;16位二进制加法ADDBX,CXMOVDTC,BXMOVAH,4CHINT21H;返回DOS操作系统COSEGENDSENDSTART53.目标文件与列表文件汇编后要生成目标文件(.OBJ文件),列表文件(.LST文件)。最重要的是目标文件,它是源程序的机器码文件,它将通过LINK文件的连接生成可以运行的执行文件,即.EXE文件。汇编后生成的列表文件(也就是.LST文件)如下,列表文件是为程序的设计者进行观察、分析用的。1.Microsoft(R)MacroAssemblerVersion5.002.0000STACKSEGMENTPARASTACK'STACK'3.00000100DW256DUP(?)4.0200TOPLABELWORD5.0200STACKENDS6.0000DATASEGMENT7.00002C3BDTADW2C3BH8.0002A6DFDTBDW0A6DFH9.0004????DTCDW?10.0006DATAENDS11.0000COSEGSEGMENTASSUMECS:COSEG,SS:STACK,DS:DATA12.0000B8----RSTART:MOVAX,STACK13.00038ED0MOVSS,AX14.000536:A10200RMOVAX,TOP15.00098BE0MOVSP,AX16.000BB8----R
本文标题:汇编程序设计实验指导书
链接地址:https://www.777doc.com/doc-2368322 .html