版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
院系:计算机科学学院专业:年级:课程名称:汇编语言学号:姓名:指导教师:2015年月日
年级
2013级班号
学号
专业
姓名实验名称8086汇编实验一实验的基本要求与方法实验类型设计型综合型创新型√实验目的或要求实验目的:实验是掌握汇编语言程序设计的步骤,学习使80X86汇编语言程序设计的基本方法和技能,熟练掌握用汇编语言设计、编码、调试和运行程序的方法,养成良好的程序设计习惯,为后续课程和将来相关的项目开发打下坚实的基础。熟练操作宏汇编的开发环境,熟悉汇编语言的编译工具(MASM6.11)及调试器(Windbg)的使用。掌握汇编语言的寻址方式和常用指令。掌握汇编语言基本的程序设计方法和调试手段。掌握子程序和宏指令的设计和调试手段。实验要求:上机前应做好充分的准备。对选定的实验题要先进行设计包括程序框图、数据结构以及算法;上机之前先编好程序代码,并进行认真地静态检查,减少错误的发生,同时还有预先估计程序运行的结果或结果范围,做到心中有数。上机时要遵守实验室的规章制度,爱护实验设备。要熟悉与实验有关的系统软件(如编辑程序、汇编程序、连接程序和调试程序等)的使用方法。在程序的调试过程中,有意识的学习及掌握Windbg程序的各种功能,以便掌握程序的调试方法和技巧。不互相抄袭,应自己动手按自己的算法编制程序,调试通过。下机后要对实验结果进行整理,分析程序调试过程中所出现的各种情况,对未通过的程序更好认真分析原因,总结经验教训。实验题目1从键盘输入一同学的期中成绩、实验成绩、期末成绩和它们在总评成绩中分别占的百分比,计算得到该同学的总评成绩,并显示出来。实验要求:该程序提示输入3个成绩和所占百分比。可参考如下的例子显示:grade1?85percent1?20grade2?75percent2?20grade3?82percent3?60scoreis:81提示:总评成绩=(期中成绩×百分比1+实验成绩×百分比2+期末成绩×百分比3)/100实验原理(算法流程)1、程序清单。
数据段:.DATA;reservestoragefordatagrade1DWORD?grade2DWORD?grade3DWORD?stringBYTE20DUP(?)prompt1BYTE"Pleaseinputthegrade1:",0prompt2BYTE"Pleaseinputthepercentofthegrade1:",0prompt3BYTE"Pleaseinputthegrade2:",0prompt4BYTE"Pleaseinputthepercentofthegrade2:",0prompt5BYTE"Pleaseinputthegrade3:",0prompt6BYTE"Pleaseinputthepercentofthegrade3:",0prompt7BYTE"Theresultis:",cr,lf,0sumDWORD?resultBYTE20DUP(?)BYTEcr,lf,0代码段:.CODE;startofmainprogramcode_start:outputprompt1inputstring,20;输入期中成绩1atodstring;转换为整型movgrade1,eaxoutputprompt2inputstring,20;输入百分数1atodstring;转换为整型mulgrade1;计算grade1*percent1movsum,eaxoutputprompt3inputstring,20;输入grade2atodstring;转换为整型movgrade2,eaxoutputprompt4inputstring,20;输入percent3atodstring;转换为整型mulgrade2;计算grade2*percent2addsum,eaxoutputprompt5inputstring,20;输入grade3atodstring;转换为整型movgrade3,eaxoutputprompt6inputstring,20;输入percent3atodstring;转换为整型mulgrade3;计算grade3*percent3addsum,eaxmoveax,summovsum,100divsum;eax/100dtoaresult,eaxoutputprompt7outputresultINVOKEExitProcess,0;exitwithreturncode0PUBLIC_start;makeentrypointpublicEND;endofsourcecode2、执行结果截图实验题目2(附加题)编写一个过程Max3,该过程可以找出一个一维数组中(数组元素个数为10)的最大值,并将这个最大值放在ax寄存器中。(1)数组元素的存储空间是字。(2)编写一个完整的主程序,在主程序完成数组的输入和存储,并调用子过程完成最大值的搜索工作。1、程序清单。
数据段:.DATA;reservestoragefordatapromptBYTE"从键盘输入10个数据存入一堆数组中,并输出数组中的最大值。",cr,lf,0numberBYTE20DUP(?)array1DWORD10DUP(?)resultBYTE"Themaxis:",cr,lfmaxDWORD?BYTEcr,lf,0代码段:.CODE;startofmainprogramcodeMax3PROCNEAR32cmpvalue,10;判断此时的数是否是第一个数jneenddmovvalue,eax;将数组中的第一个数存入valueendd:cmpvalue,eax;比较数组中的数与value比较jgendmax;若value>eax则跳出movvalue,eax;若value<eax则将数组中的数存入valueendmax:retMax3ENDP_start:outputpromptmovecx,10leaebx,array1;取有效地址fornumber:inputnumber,20atodnumbermov[ebx],eax;将数据存入数组中addebx,4;读取数组中的下一项的地址callMax3;调用过程体loopfornumberendfor:moveax,valuedtoamax,eaxoutputresult;输出最大值INVOKEExitProcess,0;exitwithreturncode0PUBLIC_start;makeentrypointpublicEND;endofsourcecode2、执行结果截图实验结果分析及心得体会内容包括:总结经验提高编程及调试能力。调试情况,如上机时遇到的问题及解决的办法,观察到的现象及其分析,对程序设计技巧的总结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 领导者在冲突中的调解技巧计划
- 信阳师范大学《Java语言程序设计实验》2022-2023学年第一学期期末试卷
- DB32-T 4723-2024 石墨烯材料包装储运通.用要求
- 西华大学《Java程序设计》2021-2022学年第一学期期末试卷
- 西昌学院《简笔画》2022-2023学年第一学期期末试卷
- 西北大学现代学院《网络与新媒体写作》2021-2022学年第一学期期末试卷
- 西北大学《平面构成》2021-2022学年第一学期期末试卷
- 10.2+常见的酸和碱教学设计-2024-2025学年九年级化学人教版(2024)下册
- 环烯烃共聚物(COC、COP)市场现状及发展前景分析
- 陕西省西安市蓝田县2023-2024学年部编版八年级历史上学期期末质量检测试卷
- 糖尿病合并骨质疏松
- 【初中生物】脊椎动物-鱼课件2024-2025学年人教版生物七年级上册
- 可爱卡通风幼儿园家长会(幼儿园教育理念与教学内容)
- 智慧水产养殖解决方案
- 南京航空航天大学《材料工程基础》2022-2023学年第一学期期末试卷
- 2024年太阳能发电项目BOT协议
- 工程质量培训
- 2024光伏发电工程施工质量验收规程
- 山东省房屋市政工程安全监督机构人员业务能力考试题库-中(多选题)
- 云南省曲靖市高三上学期第一次质量监测数学试题2
- 四年级数学上册 第6章《除法》单元测评必刷卷(北师大版)
评论
0/150
提交评论