资源描述:
《实验六 汇编语言程序设计和调试(三)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验六汇编语言程序设计和调试(三)——顺序、分支、循环程序的设计一.实验目的掌握汇编语言顺序结构、分支结构、循环结构程序设计的方法。二.实验准备1.PC系列微型计算机一台;2.软件安装DOS系统、含EDIT.EXE、MSAM.EXE、LINK.EXE或其他软件编辑工具;3.C盘下创建MASM目录。三.实验要求1.启动计算机并进入DOS状态和MASM子目录。2.在当前盘的MASM目录下用EDIT编辑工具将自己编写的源程序编辑成一个源程序文件,以“文件名.ASM”名称存储在当前盘。3.使用MASM对源程序汇编,生成目标程序文件(文件名.OBJ)4.返回EDIT环境查看列表文件记录屏幕所显
2、示的内容。5.使用LINK软件生成可执行程序文件(文件名.EXE)6.运行生成可执行程序文件(文件名.EXE)(1)命令格式及操作过程。(2)记录屏幕所显示的内容。7.在DEBUG状态下装入文件名.EXE,按要求调试程序。8.用DEBUG的D命令查看程序区。9.用DEBUG的U命令反汇编出全代码段的语句。10.用DEBUG的T命令,按步数运行该程序,并用R或D命令查看结果。四.实验内容和实验步骤使用EDIT、MASM和LINK等程序实现以下汇编语言源程序的输入、汇编、链接、调试和运行。1、分支程序设计:将小写字母转换为大写字母(Ⅰ)源程序:STACKSEGMENTPARASTACK‘
3、STACK’DW32DUP(0)STACKENDSDATASEGMENTCVDB‘C’DATAENDSCODESEGMENTMAINPROCFAR32ASSUMESS:STACK,DS:DATA,CS:CODEMOVAX,DATAMOVDS,AXLEABX,CVMOVAH,[BX]CMPAH,61HJBEXIT;AB转,不是英文小写字母范围.SUBAH,20HMOV[BX],AHEXIT:MOVAX,4C00HINT21HRETMAINENDPCODEENDSENDMAIN(Ⅱ)实验步骤:(1)利用EDIT全屏幕编辑程序的编辑功能输入以上程序
4、,以文件名为LX61.ASM存入C盘MASM子目录下。(2)在DOS系统下执行执行文件MASM.EXE,用宏汇编程序将LX61.ASM.汇编成目标文件LX61.OBJ(3)运行LINK执行文件将目标文件LX61.OBJ连接成为可执行的文件LX61.EXE。(4)查看列表文件LX61.LST,键入C:MASM>EDITLX61.LST观察显示列表文件内容,记录有关内容:①数据段的起始单元的偏移地址:数据段中变量CV的偏移地址:数据段占有字节数:数据段变量CV单元存放的数据:②堆栈段的起始单元的偏移地址:堆栈段占有字节数:(5)在DOS环境下运行程序,程序运行结束屏幕所显内容为:(6)
5、进入DEBUG环境并将LX51.EXE文件装入后,用U命令观察屏幕所显示的内容,写出:①代码段的首单元的段地址和偏移地址:②数据段和堆栈段的段基地址分别为:③变量CV的段地址和偏移地址为:(7)根据数据段的段地址,在DEBUG状态下输入显示存储单元D命令32,检查变量CV的地址及其存放的数据:(8)在DEBUG下采用G命令运行程序,写出程序运行结束屏幕所显示的内容:检查变量CV的存放的数据为:2、循环程序设计:计算S=1+2×3+3×4+4×5+……+N×(N+1)之和,直到N×(N+1)>200为止。(Ⅰ)源程序:NAMELX62STACKSEGMENTPARASTACK'STAC
6、K'STADW64DUP(0)TOPEQU$STACKENDSCODESEGMENTMAINPROCFARASSUMESS:STACK,CS:CODESTART:MOVAX,STACKMOVSS,AXLEASP,TOPXORAX,AXMOVDX,0001HMOVBL,02HA1:MOVAL,BLINCBLMULBLADDDX,AXCMPAX,00C8HJNAA1PUSHDXMOVAH,4CH;返回DOS看不到结果,到堆栈去找结果INT21HRETMAINENDPCODEENDSENDSTART(Ⅱ)实验步骤:重复程序一的实验步骤(1)—(8),并记录相关内容:32(9)若要求将和存放
7、于某个内存字单元中,请通过定义一个数据段修改程序。32