编写一计算比赛成绩子模块.doc_第1页
编写一计算比赛成绩子模块.doc_第2页
编写一计算比赛成绩子模块.doc_第3页
编写一计算比赛成绩子模块.doc_第4页
编写一计算比赛成绩子模块.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

扬州大学课程实验报告课程名称汇编语言班级实验日期2012.5.25姓名学号实验成绩实验名称模块化程序设计实验目的及要求学会模块化程序的设计; 学会现场的保护;熟练的使用模块化程序语句,以及相互之间的调用;熟练的使用Debug调试程序。实验环境编译工具Masm,link;调试工具Debug;DOS实验内容采用模块化程序设计方法编写出以下各题的源程序并上机调试运行,显示(或打印)出结果。 编写一计算比赛成绩子模块,要求完成以下功能。 7名评委,每个评委给分范围为010分(整数); 7名评委给分中,去掉一个最高分和一个最低分,剩余5名评委中的平均分即为参加者的得分(精确到小数点后位); 将分数在光标位置处显示出来。算法描述及实验步骤BLAL输出AH(高位)输出“.”输出AL(低位)AMMAL=100输出子程序分为三个模块:第一模块:数据的输入,每次以字符串的形式输入一个整数,如果是10,直接AL赋值10,否则,把字符串的第一个字符赋值给AL,并转成09之间的一个数第二模块:如果输入的是第一个数,则把它赋值给MAX,MIN,BL,以后每次输入一个数据,如果比MAX还大,则把它赋值给MAX,如果比MIN小,则赋值给MIN,并把这个数加到BL上,BL除以5相当于BL乘以2,个位右移一位,加一点;开始结束定义存储区NUM,MAX,MIN调用输入模块InPut调用计算模块Calculate调用输出模块OutPut主程序第三模块:先判断AL是否等于100,如果等于,直接输入10.0,否则,用AAM把AL中的数转换成两个BCD码的十进制数,并显示出来NUM+29NM+1=2NUM+20NUM+1=2NUM+1=2NNAL10N输入子模块Y计算模块NMINALALMAXCX=0BLBL-MAX BLBL-MINYNMAXALYNALBLAXAL*2调试过程及实验结果输入010之间的数如:4,10,5,7,9,3,8,结果如下:当输入非010之间的数,如:T,15,-5时,结果如下:均有错误提示总结从这次试验中我们初步了解了汇编语言模块化程序的设计及调试过程,学会模块化程序的设计,以及对一些简单计算的处理,对以后的学习有了一定的认识,意识到保护现场的重要性。附录DSEG SEGMENTMAX DB 0MIN DB 0NUM DB 3H DB 0 DB 3 DUP(0)Result DB 0AH,0DH,The results is:$BUF DB 0AH,0DH,Please input a num:,0AH,0DH,$ERROR DB 0AH,0DH,ERROR:,0AH,0DH,$TEN DB 10.0,0AH,0DH,$DSEG ENDSSSEG SEGMENT STACKSTK DB 100 DUP(0)SSEG ENDSCSEG SEGMENTASSUME DS:DSEG,SS:SSEG,CS:CSEGMAIN:MOV AX,DSEGMOV DS,AXCALL CalculatePUSH AXLEA DX,ResultMOV AH,9HINT 21HPOP AXCALL OutPutMOV AH,1HINT 21HMOV AH,4CHINT 21HInPut PROC NEARSTAR:LEA DX,BUFMOV AH,09HINT 21HLEA DX,NUMMOV AH,0AHINT 21HCMP BYTE PTR NUM+1,2JNZ STEP1CMP BYTE PTR NUM+2,1JNZ STEP0CMP BYTE PTR NUM+3,0JNZ STEP0MOV AL,10RETSTEP1:CMP BYTE PTR NUM+2,0JB STEP0CMP BYTE PTR NUM+2,9JA STEP0MOV AL,NUM+2SUB AL,30HRETSTEP0:LEA DX,ERRORMOV AH,09HINT 21HJMP STAR RETInPut ENDPCalculate PROC NEARCALL InPutMOV BL,ALMOV MAX,ALMOV MIN,ALMOV CL,6XOR CH,CHLOP1:CALL InPUTADD BL,ALCMP AL,MAXJA M_AXCMP AL,MINJB M_INJMP LOP2M_AX:MOV MAX,ALJMP LOP2M_IN:MOV MIN,ALLOP2:LOOP LOP1SUB BL,MAXSUB BL,MINMOV AL,BLMOV BL,2HMUL BLRETCalculate ENDPOutPut PROC NEARCMP AL,100JZ STEP2AAMMOV BL,ALOR AH,30HMOV DL,AHMOV AH,02HINT 21HMOV DL,.MOV AH,02HINT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论