欢迎来到天天文库
浏览记录
ID:38710326
大小:40.00 KB
页数:3页
时间:2019-06-18
《实验二_综合程序的编写与调试实验new》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、软件实验二综合程序的编写与调试实验1.实验目的(1)熟练掌握编写汇编语言源程序的基本方法和基本框架。(2)学会编写顺序结构、分支结构和循环结构的汇编程序。(3)掌握程序中数据的产生与输入输出的方法。2.实验内容(1)用汇编语言编写一个加法程序:1234+5678请用ASCII码的形式将加数与被加数存放在数据区DATA1和DATA2中,并将相加结果存入DATA3并显示输出。(2)假设有一组数据:5,-4,0,3,100,-51,请编一程序,判断:每个数大于0,等于0,还是小于0;并输出其判断结果。即1当X﹥0Y=0当X﹦0-1
2、当X﹤03.实验要求(1)实验前准备①分析题目,将程序中的原始数据,中间结果和最终结果的存取方式确定好。②写出算法或画出流程图③写出源程序④对程序中的结果进行分析,并准备好上机调试与用汇编程序及汇编调试的过程。(2)本实验要求在PC机上进行。(3)汇编过程中出现问题,可用DEBUG进行调试。4.编程提示(1)实验内容1(参考教材P165例3.19)①两个数据可用相反的顺序以ASCII码的形式存放在数据段的DATA1和DATA2中,相加时可从DATA1和DATA2的起始字节开始相加,即从数的个位数开始相加。相加结果可存放在DA
3、TA2开始的存储单元中。②程序中的加法运算是ASCII码运算,采用带进位的加法运算指令ADC,后面应加一条ASCII码加法调整指令AAA。经AAA调整的加法指令,将ASCII码的数据高4位清“0”,因此要将结果每位数高4位拼成3位,变成ASCII码存在DATA3中,才可方便地取出输出。③程序中应有输出程序段,采用MOVAH,02H,INT21H,将要输出字符的ASCII码送入DL中。(2)实验内容2(参考教材P148例3.10)①首先将原始数据(5,-4,0,3,100,-51)装入起始地址为X的字节存储单元中。②将判断结果
4、以字符串的形式存放在数据区Y中,以便在显示输出时调用。③其中判断部分可采用CMP指令,得到一个分支结构,分别输出“Y=0”,“Y=+1”,“Y=-1”。④程序中存在一个循环结构,循环6次,调用6次分支结构后结束。5.思考题(1)两个试验题目中的原始数据,是否可能通过键盘提供?如何编程?请将编好的程序上机调试。(2)程序中的原始数据是以怎样的形式存放在数据区中的?请用DEBUG调试程序进行观察并分析。6.实验报告(1)程序说明①说明程序基本结构,包括程序中各部分的功能②说明入口参数与出口参数以及各种参数输入与输出的方式。③说明
5、程序中各部分所用的算法和编程技巧。④说明主要符号和所用的算法和编程技巧。(2)上机调试说明①上机调试步骤。②上机调试过程中遇到的问题是如何解决的。③对调试源程序的中间结果和最终结果进行分析。(3)画出程序总框图(4)打印出源程序清单与执行结果。(5)回答思考题。附:汇编语言源程序的编译方法1.通过EDIT编辑源程序C:>EDIT111.ASM(回车)进入EDIT编辑状态,输入源程序。Alt+F打开File文件菜单,选中Save项,存盘并退出。2.用MASM汇编源程序C:>masm(回车)Microsoft(R)Macro
6、AssemblerVersiOn5.00Copyright(C)MicrosohCorp1981—1985,1987.Sourcefilename[.ASM]:文件名(回车)Objectfilename[文件名.OBJ]:文件名(回车)5Sourcelisting[NUL.LST]:文件名(回车)Cross—reference[NUL.CRF]:文件名(回车)50722+410046Bytessymbolspacefree0WarningErrors0SevereErrors3.用Link连接程序C:>link(回车)IB
7、MPersonalComputerLinkerVersion2.00(C)CopyrightIBMCorp1981,1982,1983ObjectMOdules[.OBJ]:文件名(回车)RunFile[文件名.EXE]:文件名(回车)ListFile[NUL.MAP]:文件名(回车)Libraries[.LIB]:文件名(回车)Warning:NOSTACKsegmentTherewas1errordetected.4.执行程序C:>文件名(.exe)(回车)5.调试程序C:>DEBUG文件名.exe(回车)
此文档下载收益归作者所有