欢迎来到天天文库
浏览记录
ID:30804803
大小:3.34 MB
页数:47页
时间:2019-01-03
《华中科技大学汇编语言程序设计实验报告(二)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、课程实验报告课程名称:汇编语言程序设计实验实验名称:实验一编程基础实验时间:2017-3-15,14:30-17:30实验地点:南一楼804室60号实验台指导教师:李专专业班级:计算机科学与技术201502班学号:U201414596姓名:卢振兴同组学生:无报告日期:2017年3月15日原创性声明本人郑重声明:本报告的内容由本人独立完成,有关观点、方法、数据和文献等的引用已经在文屮指出。除文屮已经注明引用的内容外,本报告不包含任何其他个人或集体已经公开发表的作品或成果,不存在剽窃、抄袭行为。特此声明!学生签名:卢振兴日期:2017.3.15成绩评定实验完成质量得分(70分)(实验步骤
2、清晰详细深入,实验记录真实完整等)报告撰写质量得分(30分)(报告规范、完整、通顺、详实等)总成绩(100分)指导教师签字:口期:课程实验报告课程名称:汇编语言程序设计实验实验名称:实验一编程基础实验时间:2017-3-15,14:30-17:30实验地点:南一楼804室60号实验台指导教师:李专专业班级:计算机科学与技术201502班学号:U201414596姓名:卢振兴同组学生:无报告日期:2017年3月15日原创性声明本人郑重声明:本报告的内容由本人独立完成,有关观点、方法、数据和文献等的引用已经在文屮指出。除文屮已经注明引用的内容外,本报告不包含任何其他个人或集体已经公开发表
3、的作品或成果,不存在剽窃、抄袭行为。特此声明!学生签名:卢振兴日期:2017.3.15成绩评定实验完成质量得分(70分)(实验步骤清晰详细深入,实验记录真实完整等)报告撰写质量得分(30分)(报告规范、完整、通顺、详实等)总成绩(100分)指导教师签字:口期:1.实验目的与要求(1)掌握汇编源程序编辑工具、汇编程序、连接程序、调试工具TD的使用;(2)理解数、符号、寻址方式等在计算机内的表现形式;(3)理解指令执行与标志位改变之间的关系;(4)熟悉常用的DOS功能调用;(5)熟悉分支、循环程序的结构及控制方法,掌握分支、循环程序的调试方法;(6)加深对转移指令及一些常用的汇编指令的理
4、解。2.实验内容任务1.《80X86汇编语言程序设计》教材屮P31的1.14题。要求:(1)直接在TD屮输入指令,完成两个数的求和、求差的功能。求和/差后的结果放在(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”之前的(BX),(BP),(SI),(DI
5、)各是多少。(2)记录程序执行到退出之前数据段开始40个字节的内容,指出程序运行结果是否与设想的一致。(3)在标号LOPA前加上--段程序,实现新的功能:先显示提示信息“Pressanykeytobegin!-,然后,在按了一个键Z后继续执行LOPA处的程序。操作提示:使用TD.EXE调试程序时,应先单步执行各个语句,每执行一条语句,都应观察数据段屮的内容以及相应寄存器的变化。首先注意观察对DS寄存器的赋值过程,并在TD的数据窗II定位待观察的数据区位置。其次,单步执行循环体两遍且正确理解了循环体语句的含义后,可在“MOVAH,4CH"处设置断点,然后直接执行到断点处,回答(1)和(
6、2)的问题。任务3.《80X86汇编语言程序设计》教材中P45的2.4题的改写。要求:(1)实现的功能不变,对数据段中变量访问时所用到的寻址方式中的寄存器改成32位寄存器。(2)内存单元中数据的访问采用变址寻址方式。(3)记录程序执行到退出Z前数据段开始4()个字节的内容,检查程序运行结果是否与设想的一致。(4)在TD代码窗口中观察并记录机器指令代码在内存中的存放形式,并与TD中提供的反汇编语句及自己编写的源程序语句进行对照,也与任务2做对比。(相似语句记录一条即可,重点理解机器码与汇编语句的对应关系,尤其注意操作数寻址方式的形式)。(5)观察连续存放的二进制串在反汇编成汇编语言语句
7、时,从不同字节位置开始反汇编,结果怎样?理解IP/EIP指明指令起始位置的重要性。任务4.设计实现一个学生成绩查询的程序。1、实验背景在以BUF为首址的字节数据存储区中,存放着n个学生的课程成绩表(百分制),每个学生的相关信息包括•:姓名(占10个字节,结束符为数值0),语文成绩(1个字节),数学成绩(1个字节),英语成绩(1个字节),平均成绩(1个字节)。例如:NEQU30BUFDB'zhangsai,0,();学生姓名,不足10个字节的部分用0填充DB
此文档下载收益归作者所有