资源描述:
《华中科技大学汇编语言程序设计实验报告(一)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、课程实验报告课程名称:汇编语言程序设计实验实验名称:实验一编程基础实验时间:2017-3-15,14:30-17:30实验地点:南一楼804室60号实验台指导教师:曹忠升专业班级:计算机科学与技术201502班学号:U201414596姓名:卢振兴同组学生:无报告日期:2017年3月15日原创性声明木人郑重声明:木报告的内容由木人独立完成,有关观点、方法、数据和文献等的引用己经在文屮指出。除文小己经注明引用的内容外,本报告不包含任何其他个人或集体已经公开发表的作品或成果,不存在剽窃、抄袭行为。特此声明!学牛签名:卢振兴日期:2017.3.15成绩评定实验完成质量得分(70分)
2、(实验步骤清晰详细深入,实验记录真实完整等)报告撰写质量得分(30分)(报告规范、完整、通顺、详实等)总成绩(100分)指导教师签字:口期:1.实验目的与要求(1)掌握汇编源程序编辑工具、?1「编程序、连接程序、调试工具TD的使用;(2)理解数、符号、寻址方式等在计算机内的表现形式;(3)理解指令执行与标志位改变Z间的关系;(4)熟悉常用的DOS功能调用;(5)熟悉分支、循环程序的结构及控制方法,掌握分支、循环程序的调试方法;(6)加深对转移指令及一些常用的汇编指令的理解。2.实验内容任务1.《80X86汇编语言程序设计》教材屮P31的1.14题。要求:(1)肓接在TD屮输入
3、指令,完成两个数的求和、求差的功能。求和/差后的结杲放在(AH)中。(2)请事先指出执行指令后(AH)、标志位SF、OF、CF、ZF的内容。(3)记录上机执行后的结果,与(2)中对应的内容比较。(4)求普运算屮,若将A、B视为有符号数,且A>B,标志位有何特点?若将A、B视为无符号数,且A>B,标志位乂有何特点?任务2.《80X86汇编语言程序设计》教材中P45的2.3题。要求:(1)分别记录执行到“MOVCX,10”和“INT21H”Z前的(BX),(BP),(SI),(DI)各是多少。(2)记录程序执行到退岀之前数据段开始40个字节的内容,指岀程序运行结果是否与设想的一致
4、。(3)在标号LOPA前加上-•段程序,实现新的功能:先显示提示信息“Pressanykeytobegin匚然后,在按了一个键之后继续执行LOPA处的程序。操作捉示:使用TD.EXE调试程序时,应先单步执行各个语句,每执行一条语句,都应观察数据段屮的内容以及相应寄存器的变化。首先注意观察对DS寄存器的赋值过程,并在TD的数据窗口定位待观察的数据区位置。其次,单步执行循环体两遍且正确理解了循环体语句的含义后,可在“MOVAH,4CH”处设置断点,然后直接执行到断点处,回答⑴和(2)的问题。任务3.《80X86汇编语言程序设计》教材中P45的2.4题的改写。要求:(1)实现的功能
5、不变,对数据段屮变疑访问时所用到的寻址方式屮的寄存器改成32位寄存器。(2)内存单元中数据的访问采用变址寻址方式。(3)记录程序执行到退出Z前数据段开始40个字节的内容,检査程序运行结果是否与设想的一致。(4)在TD代码窗口屮观察并记录机器指令代码在内存屮的存放形式,并与TD屮提供的反汇编语句及自己编写的源程序语句进行对照,也与任务2做对比。(相似语句记录一条即可,重点理解机器码与汇编语句的对应关系,尤其注意操作数寻址方式的形式)。(5)观察连续存放的二进制串在反汇编成汇编语言语句时,从不同字节位置开始反汇编,结果怎样?理解IP/EIP指明指令起始位置的重要性。任务4.设计实
6、现一个学生成绩查询的程序。1、实验背景在以BUF为首址的字节数据存储区中,存放着n个学生的课程成绩表(百分制),每个学生的相关信息包括:姓名(占10个字节,结束符为数值0),语文成绩(1个字节),数学成绩(1个字节),英语成绩(1个字节),平均成绩(1个字节)。例如:NEQU30BUFDB^zhangsan ,0;学纶姓名,不足10个字节的部分用0填充DB100,85,80,?;平均成绩述耒计算DB'lisi',6DUP(O)DB80,100,70,?DBN-3DUP(tTempValue ,8(),90,95,?)滁了3个已经具体定义了学生信息的成绩表以外,其他学生的信
7、息暂时假定为一样的。DB'wangwif,0,0,0,0;最后一个必须是自己名字的拼音DB85,85,100,?2、功能一:提示并输入待杏询成绩的学生姓名(1)使用9号DOS系统功能调用,提示用户输入学生姓名。(2)使用10号DOS系统功能调用,输入学生姓名。输入的姓名字符串放在以in_name为首址的存储区中。(3)若只是输入了回车,则回到“(1)”处重新提示与输入;若仅仅输入字符q,则程序退出,否则,准备进入下一步处理。3、功能二:以学生姓名杏询有无该学生(1)使用循环程序结构,在成绩表屮杳找该学生