




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告课程名称: 汇编语言程序设计 课题名称: 成绩评定 姓 名: 班 级: 带教老师: 报告日期: 2009年 电 子 信 息 学 院目 录第一章 前言31.1 背景31.2基本功能要求3第二章 程序设计42.1题目基本内容42.2系统流程框图52.3课程设计的具体内容说明62.4课程设计中关键内容的分析设计说明6第三章 课程设计小结7参考文献8附录:9源程序代码9第一章 前言1.1 背景课程设计的主要目的是提高实践能力,包括对硬件的理解分析能力和汇编语言的编程能力。与其他课程不同的是,本课程对硬件有较高的依赖性,因此课程设计的灵活性受到了一定的限制,最好有相应的实验平台支持(尤其是硬件部分),本次课程设计主要是汇编语言部分的练习,通过这部分的练习,学生应该熟悉汇编语言的寻址方式和指令系统,掌握BIOS和DOS系统的功能调用,编制较大程序时的基本方法和熟悉宏汇编的编程环境。使学生既具备完备的理论知识,也能够解决实际学习中碰到的问题。1.2基本功能要求1.显示简易的数字菜单,并根据选择的菜单号执行相应的分支程序,并得到正确的结果。2.从键盘输入一个成绩能评定成绩的等级,并显示其结果。第二章 程序设计2.1题目基本内容设计题目:成绩评定具体要求: (1)显示简易数字菜单(2)输入成绩,显示成绩评定的等级(90-100为优,80-90为良,70-80为中,60-70为及格,60分以下为不及格)(al)=1或2?开始简易数字菜单选择菜单号退出输入成绩到bx(al)=1?(bx)=o?(bx)60?(bx)70?(bx)80?(bx)90?(bx)=100?显示等级A显示等级B显示等级C显示等级D显示等级E2.2系统流程框图 N Y Y N Y N N N Y N Y N Y Y Y 图2.2.12.3课程设计的具体内容说明根据课题的要求,主要完成一下几方面的设计:1显示简易数字菜单,根据选择的菜单号,执行相应的分支程序2从键盘输入一个十进制数字(编写一个子程序)3对输入的数据进行比较,显示相应成绩等级(优,良,中,及格,不及格可以分别用A,B,C,D,E表示)2.4课程设计中关键内容的分析设计说明1.简易数字菜单只有两个选择号(12),选择1表示就跳转到执行成绩评定的程序,选择2就返回到DOS窗口。从键盘输入的数字(12)是以字符形式输入的,所以在al中存放的是其ASSCII码值,要将其转换成相应的数字,用and al,0fh或sub al,30h可以实现转换。2.执行成绩评定程序就要求从键盘输入一个数据,然后将其与相应的分数进行比较,关键是如何从键盘输入一个十进制数,这可以用到子程序的思想,将从键盘输入一个十进制数编写成子程序,然后调用它,从键盘输入一个十进制数子程序其主要算法思想如下:输入09数字(ASCII码),并减30H转换为二进制数然后将前面输入的数值乘10,并与刚输入的数字相加得到新的数值重复、步,直到输入一个非数字字符结束将数值保存到相应的寄存器中3.将输入的数据与相应的分数比较,输出相应的等级,如下几句语句:cmp bx,60 ;(bx)60 ?jb start3start3:mov dx,offset level5 ;以level5为首地址的内存存放要显示的成绩等级 :E mov ah,9 int 21h ;调用系统功能键输出相应的等级程序运行结果(截图) 图2.4.1 第三章 课程设计小结为期一周的汇编语言课程设计马上就要结束了,现在我来总结一下这周所学的内容以及我的心得体会。本次汇编语言课程设计是利用我们平时所学的汇编知识编写一个成绩评定的小程序,刚拿到题目的时候还有点担忧。由于平时汇编语言的知识掌握的并不牢固,并且也没有过像这样的为期一周的汇编语言实践课程。但当静下心来仔细把问题读懂和头脑中有了大致思路的时候,这种担忧就完全消失了。其实这次课程设计并不要求你把书上各种指令及其工能掌握的很好并且能熟练的运用汇编语言编程,而恰恰是利用这次课程设计的机会来提高这方面的能力。这就是一个心态问题,看你有没有摆正心态,看你有没有面对挫折的勇气,如果一开始就没摆正心态,思维就会堵塞,后面就更无法做下去了。这次课程设计让我更加懂得以后在面临困难与挫折的时候要有平和的心态,要有冷静的头脑,坦然的面对,这样才能解决问题。有了整体思路后,编写程序就变得简单的多了,但也遇到了很多的问题,比如在调用系统功能键从键盘输入一个数字(09)时,还要将其转换成二进制数字。这个转换过程中也花了我一点时间。还有一个比较大的问题是如何从键盘输入一个十进制数,一开始设计的还只能输入一位数,然后进行比较。后经过老师的帮助和同学的讨论,终于又进一步完成了任意数字的输入,采用子程序的思想,简化了源程序代码,使程序结构更加紧凑明了。本次汇编语言课程设计加深了我对汇编语言的理解和运用,一些以前不太理解的指令及其用法现在都很好的掌握了,还有分支程序和子程序的运用,尤其是程序的结构化设计思想,有了结构化设计思想,你的思路就会更加清晰,解决问题就有针对性,比如这次的从键盘输入一个十进制数子程序。子程序可以实现源程序的模块化,简化源程序结构。而当这个子程序被多次使用时,子程序还可以使模块得到复用,进而提高编程效率。通过本次汇编语言课程设计,也让我更加明白实践的重要性,如果整天的学习课本上的理论知识而不拿来用那肯定是很烦的,况且汇编语言这门课本身学起来就很烦,尤其是要去理解各种指令的功能,还要学习相应的硬件知识。再者,学习理论知识的目的还是要拿来运用,通过实践来巩固所学的理论知识。并且通过这次课程设计实践,让我一改往日的厌学情绪,尤其是当程序运行正确的时候,那种来自内心的成就感,让我更加有信心学好汇编语言了。通过本次课程设计让我更深刻的明白学习要不耻下问,遇到不懂得问题要敢于向老师提问,没有什么不好意思的,不懂就是不懂。如果遇到问题了还坐那里发呆,那肯定完成不了任务。问老师问题,老师会帮你尽力解答,自己也需要努力。还有遇到问题多和同学探讨,所谓“独学而无友,则孤陋而寡闻”就是这个道理,或许就在和同学的讨论过程中,点开了你的思路,问题就迎刃而解了。我这次能够顺利的完成程序设计也是得益于老师和同学的帮组,在这里我要真心的感谢他们。总之,这次汇编语言课程设计让我受益匪浅,我不但收获了知识,提高了能力,而且学到了很多人生的哲理。对于学习汇编语言这门专业课,以后要多看程序,多尝试编写程序,在实践的过程中发现问题,并及时解决问题,让自己更上一层楼。参考文献1 钱晓捷新版汇编语言程序设计北京:电子工业出版社,2008 2 杨季文80x86汇编语言程序设计教程北京:清华大学出版社, 20043 李珍香等汇编语言课程设计案例精编北京:中国水利水电出版社,20054 洪志全罗省贤汇编语言程序设计教程北京:电子工业出版社,20045 楼顺天 周佳社. 微机原理与接口技术.北京:科学出版社,2006附录:源程序代码10.model small.stack.data mes db*menu*,0dh,0ah,$mes1 db*1-score valuation*,0dh,0ah,$mes2 db*2-Exit*,0dh,0ah,$mes3 dbinput number(12),0dh,0ah,$ mes4 dbinput a score,0dh,0ah,$ level1 db 0dh,0ah,the level of score is:A,$ ;90-100分:成绩等级为 A level2 db 0dh,0ah,the level of score is:B,$ ;80-90分:成绩等级为 B level3 db 0dh,0ah,the level of score is:C,$ ;70-80分:成绩等级为 C level4 db 0dh,0ah,the level of score is:D,$ ;60-70分:成绩等级为 D level5 db 0dh,0ah,the level of score is:E,$ ;0-60分:成绩等级为 Estring db 0dh,0ah,$table dw disp1,disp2 ;取得各个标号的偏移地址 .code.startupstart1:mov dx,offset mes ;显示简易数字菜单 mov ah,9 int 21h mov dx,offset mes1 mov ah,9 int 21h mov dx,offset mes2 mov ah,9 int 21h mov dx,offset mes3 ;提示输入数字 mov ah,9 int 21h mov ah,1 ;等待按键 int 21h cmp al,1 ;数字 2 ? ja start1 and ax,0000fh ;将ASCII码 转换成数字 dec ax shl ax,1 ;等效于add ax,ax mov bx,ax jmp tablebx ;(段内)间接转移:IP-table+bx start2:.exit 0start3:mov dx,offset level5 mov ah,9 int 21h jmp disp1start4:mov dx,offset level4 mov ah,9 int 21h jmp disp1start5:mov dx,offset level3 mov ah,9 int 21h jmp disp1start6:mov dx,offset level2 mov ah,9 int 21h jmp disp1start7:mov dx,offset level1 mov ah,9 int 21h jmp disp1read proc ;从键盘输入一个十进制数子程序 push cx push axread1: mov bx, 0 ;把bx清零 read2: mov ah, 1 int 21h cmp al,o ;若输入为字母o,则返回主菜单 je start1 cmp al, 0dh je read3 ;输入为回车字符 则数据输入结束 cmp al, 30h ;不是09之间的字符,则输入结束 jl read3 cmp al, 39h ja read3 sub al, 30h ; 是09之间的的字符,则转换为二进制数 mov ah, 0 xchg ax, bx ;交换ax和bx里的值 mov cx, 10 mul cx ;实现数字乘10 add bx, ax ; 已输入的数字乘10后,与新输入的数字值相加,结果放在bx中 jmp read2read3: pop ax pop cx retread endpdisp1: mov dx,offset string ;成绩评定分支程序 mov ah,9 int 21h mov dx,offset mes4 ;提示输入成绩 mov ah,9 int 21h call read ;调用从键盘输入十进制数子程序 cmp bx,60 ;(bx)60 ? jb sta
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年能源行业CCS项目经济效益与减排潜力研究报告
- 2025届河北省秦皇岛海港区四校联考英语八下期末检测试题含答案
- 文化创意产品开发资金申请条件与2025年政策扶持报告
- 2025年医院信息化建设电子病历系统与医院信息化管理的协同优化报告
- 2025年医药企业研发外包(CRO)模式下的知识产权布局与战略规划报告
- 2025年医药企业CRO研发外包的合作模式与项目管理优化策略研究报告
- 江苏省无锡锡东片2025届英语七年级第二学期期末考试试题含答案
- 年加工20万吨钢卷项目可行性研究报告写作模板-拿地申报
- 爆破人员考试试题及答案
- 2025年消费金融市场用户画像研究:精准营销策略与客户体验优化
- 2024年山东烟台财金集团招聘笔试参考题库含答案解析
- GB/T 43234-2023成型模斜导柱
- 马工程版《中国经济史》各章思考题答题要点及详解
- 中建公路工程10T龙门吊安拆方案
- 2023年石狮市国企招聘考试基础题库
- 游戏俱乐部群公告范本
- 国家玩具安全技术规范
- 启东市地图南通市启东市乡镇街道地图高清矢量可填充编辑地图PPT模板
- 直臂式高空作业车安全管理培训课件-
- 广东省省级政务信息化服务预算编制标准(运维服务分册)
- 医疗健康-肺胀中医护理方案课件
评论
0/150
提交评论