您好,欢迎访问三七文档
河南工程学院《汇编语言》课程设计成果报告成绩评定学生学号:学生姓名:学院:计算机学院专业班级:计算机科学与技术专业课程:汇编语言指导教师:王雪瑞2015年1月9日课程设计指导教师评分表课程设计题目成绩评定成员姓名学号任务分工查资料、等级评定程序设计查资料、开始简易数字菜单设计评分项目及分值要素成绩评定项目最高分评分要素成绩1.学习态度20上机出勤及端正的学习态度、认真刻苦程度,工作量饱满程度等2.软件设计质量30采用的算法、设计方案,设计结果,界面友好等方面进行综合评定3.设计报告书写20内容按要求步骤书写,条理清晰,表述清楚、措词得当4.实际动手能力10熟练使用开发工具,能够迅速准确的进行调试、纠错和运行;组长全面负责,承担复杂的模块设计分值相对要高5.答辩过程20能简明扼要地阐述设计的主要内容,能准确流利地回答问题总成绩等级评语评阅人:年月日I目录一、设计内容及目的...................................................................................................1(一)设计内容.......................................................................................................................1(二)设计目的.......................................................................................................................1二、总体设计...............................................................................................................2(一)系统流程框图..............................................................................................................2(二)具体说明.......................................................................................................................3(三)代码实现.......................................................................................................................3三、等级评定程序设计...............................................................................................7(一)功能设计.......................................................................................................................7(二)设计说明.......................................................................................................................7(三)代码实现.......................................................................................................................8四、成绩调试结果及分析.........................................................................................12五、心得体会.............................................................................................................14致谢………………………………………………………………………………15参考文献.....................................................................................................................161成绩评定一、设计内容及目的(一)设计内容成绩评定。编制一个程序,要求完成以下功能:1.以十进制形式从键盘随机输入成绩(不多于50个)。2.显示成绩评定的等级(90-100为优,80-90为良,70-80为中,60-70为及格,60分以下为不及格)。(二)设计目的根据课题要求,运用自己在课堂上所学的知识,设计出一个程序,在输入学生的成绩后,显示出该学生成绩的等级。通过此次课程设计,提高自己的实践能力,加深对课堂上所学的知识的理解,加强自己的团队合作意识。本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完《汇编语言》课程后进行的一次全面的综合练习。本课程设计的目的和任务:巩固和加深学生对汇编语言课程的基本知识的理解和掌握;(1)掌握汇编语言编程和程序调试的基本技能;(2)利用汇编语言进行简单软件设计的基本思路和方法;(3)提高运用汇编语言解决实际问题的能力;(4)掌握书写程序设计说明文档的能力;2二、总体设计(一)系统流程框图如图1所示:图1系统流程框图图1系统流程框图(al)=1或2?开始简易数字菜单选择菜单号退出输入成绩到bx(al)=1?(bx)=’o’?(bx)60?(bx)70?(bx)80?(bx)90?(bx)=100?显示等级A显示等级B显示等级C显示等级D显示等级ENYYNYNNNNNYYYYY3(二)具体说明根据课题的要求,主要完成一下几方面的设计:(1)显示简易数字菜单,根据选择的菜单号,执行相应的分支程序;(2)从键盘输入一个十进制数字(编写一个子程序);(3)对输入的数据进行比较,显示相应成绩等级(优,良,中,及格,不及格可以分别用A,B,C,D,E表示)。简易数字菜单只有两个选择号(1~2),选择1表示就跳转到执行成绩评定的程序,选择2就返回到DOS窗口。从键盘输入的数字(1~2)是以字符形式输入的,所以在al中存放的是其ASSCII码值,要将其转换成相应的数字,用andal,0fh或subal,30h可以实现转换。执行成绩评定程序就要求从键盘输入一个数据,然后将其与相应的分数进行比较,关键是如何从键盘输入一个十进制数,这可以用到子程序的思想,将从键盘输入一个十进制数编写成子程序,然后调用它,从键盘输入一个十进制数子程序其主要算法思想如下:(1)输入0~9数字(ASCII码),并减30H转换为二进制数;(2)然后将前面输入的数值乘10,并与刚输入的数字相加得到新的数值;(3)重复(1)、(2)步,直到输入一个非数字字符结束;(4)将数值保存到相应的寄存器中。(三)代码实现源程序代码如下:.modelsmall.stack.datamesdb'***menu***',0dh,0ah,'$'mes1db'***1-scorevaluation***',0dh,0ah,'$'mes2db'***2-Exit***',0dh,0ah,'$'mes3db'inputnumber(1~2)',0dh,0ah,'$'mes4db'inputascore',0dh,0ah,'$'level1db0dh,0ah,'thelevelofscoreis:A','$';90-100分:成绩等4级为Alevel2db0dh,0ah,'thelevelofscoreis:B','$';80-90分:成绩等级为Blevel3db0dh,0ah,'thelevelofscoreis:C','$';70-80分:成绩等级为Clevel4db0dh,0ah,'thelevelofscoreis:D','$';60-70分:成绩等级为Dlevel5db0dh,0ah,'thelevelofscoreis:E','$';0-60分:成绩等级为Estringdb0dh,0ah,'$'tabledwdisp1,disp2;取得各个标号的偏移地址.code.startupstart1:movdx,offsetmes;显示简易数字菜单movah,9int21hmovdx,offsetmes1movah,9int21hmovdx,offsetmes2movah,9int21hmovdx,offsetmes3;提示输入数字movah,9int21hmovah,1;等待按键int21hcmpal,'1';数字1?jbstart15cmpal,'2';数字2?jastart1andax,0000fh;将ASCII码转换成数字decaxshlax,1;等效于addax,axmovbx,axjmptable[bx];(段内)间接转移:IP-[table+bx]start2:.exit0start3:movdx,offsetlevel5movah,9int21hjmpdisp1start4:movdx,offsetlevel4movah,9int21hjmpdisp1start5:movdx,offsetlevel3movah,9int21hjmpdisp1start6:movdx,offsetlevel2movah,9int21hjmpdisp1start7:movdx,offsetlevel1movah,9int21hjmpdisp1readproc;从键盘输入一个十进制数子程序6pushcxpushaxread1:movbx,0;把bx清零read2:movah,1int21hcmpal,'o';若输入为字母o,则返回主菜单jestart1cmpal,0dhjeread3;输入为回车字符则数据输入结束cmpal,30h;不是0~9之间的字符,则输入结束jlread3cmpal,39hjaread3subal,30h;是0~9之间的的字符,则转换为二进制数movah,0xchgax,bx;交换ax和bx里的值movcx,10mulcx;实现数字乘10addbx,ax;已输入的数字乘10后,与新输入的数字值相加,结果放在bx中jmpread2read3:popaxpopcxretreadendpdisp1:movdx,offsetstring;成绩评定分支程序7movah,9int21hmovdx,offsetmes4;提示输入成绩movah,9int21hcallread;调用从键盘输入十进制数子程序cmpbx,60;(bx)60?jbstart3cmpbx,70jbstart4cmpbx,80jbstart5cmpbx,90jbstart6cmpbx,100;(bx)=100?jbestart7disp2:jmpstart2;返回DOSend三、等级评定程序设计(一)功能设计根据选题要求,90-100为优,80-90为良,70-80为中,60-70为及格,60分以下为不及格(分别用A、B、C、D、E表示),编写程序,在用户输入学生成绩后,能够显示出该学生成绩相对应的等级。(二)设计说明执行成绩评定程序就要求从键盘输入一个数据,然后将其与相应的分数进行比较,关键是如何从键盘输入一个十进制
本文标题:汇编语言课程设计
链接地址:https://www.777doc.com/doc-2279452 .html