版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计报告目 录第一章 前言31.1 摘要31.2基本功能要求3第二章 程序设计42.1题目基本内容42.2系统流程框图52.3课程设计的具体内容说明62.4课程设计中关键内容的分析设计说明62.5运行截图6第三章 课程设计小结7参考文献8附录:9源程序代码9第一章 前言1.1 摘要 本次课程设计,是使用汇编作为开发语言实现功能要求。总所周知,汇编是一个低级语言,对硬件有很大的依赖性,在使用上也不及高级语言方便,但其在执行效率上比高级语言有很大的优势。本次课程设计,一方面让我们再次熟悉汇编指令,再次对算法的设计有一定的要求。另一方面让我们对较大汇编程序的编写有一个清晰的过程,学习把一个教大问
2、题分解成若干个小问题,即子程序是一个良好的编程习惯。掌握汇编指令,学习的理论知识应用于解决实际的问题。1.2基本功能要求显示一个数字的方阵,提示输入一个3-5的数字,根据输入的数字显示方阵,如输入4,输出12341213145111615610987第二章 程序设计2.1题目基本内容设计题目:成绩评定具体要求: (1)输出提示输入,接受在一定范围内的指定数字,3到9之间,否则重新输入,如果是ESC键,则推出程序(2)对接受的数字进行,数字矩阵的显示2.2系统流程框图主程序:SHOW循环显示子程序: CRT子程序调整AL值分别得到二位十进制个位,十位值十位是否为 0 0N输出个位值子程序返回取得
3、BP中的值向右输出n数每输出一个自加向下输出n-1个数每输出一个自加向左输出n-1个数每输出一个自加向右输出n-2每输出一个自加子程序返回 此位填空格输出Y输出其值 2.3课程设计的具体内容说明根据课题的要求,主要完成一下几方面的设计:1显示提示输入,提示输入 ,并保证输入大于3小于9,否则重新输入2编写子程序,用算法实现每次形如矩形的输出,如 123412511610987直至输出完毕3在输出时,如果是两位十进制数,使用设计子程序分别输出个位,十位值,若是一位十进制数,十位填充空格,输出。2.4课程设计中关键内容的分析设计说明1、要求输入介于3到9,如果输入不符合要求,不能显示其内容,要求重
4、新输入,直至符合要求方显示。2、算法实现并不是件简单的事情。高级语言可以设置二维数组实现,不必考虑其位数,输出也仅是一个元素值。而用汇编则遇到定位鼠标,才是显示,根据程序要求,想要达到程序要求,必须对鼠标位置做精确定位。汇编一次只能输出一个字符,对于二位十进制数据时,必须作出处理分别输出。如果对于一位二进制数不做处理,输出时的样子非常难看。处理方案是:当输出一位十进制数时,在十位位置填充空格,显示效果良好。3、在汇编语言中,输出位置是在光标的位置显示,定位鼠标位置,在显示时没有选择DOS和BIOS中断,而是选择了教为简洁的STOSB的“显式操作数”形式输出。 2.4程序运行截图从键盘输入3-9
5、的数字,截图如下:例如输入3,运行结果如以下截图:例如键入4,运行结果如以下截图:例如键入5,运行结果如以下截图:第三章 课程设计感悟课程设计是将课本上所学的理论知识运用与解决实际的问题,对松散的理论知识的一个集合式运用,也是综合知识,综合运用能力的一个过程。对知识的掌握和灵活运用是一个很好的考察。由于汇编是大二时所学,那么长时间没有运用,忘了好大一部分。当要做课程设计时,又把整本书又复习了一遍,而且我们那本课本是入门级教材。对诸如DOS和BIOS中断的介绍也只是一个简单的叙述,当真正要使用某一功能时,我们的课本就捉襟见肘了。因此在课程设计的过程中,图书馆是不得不常去的一个地方了。丰富的网络资
6、源也很不错,但发现在查看网上的资料的时候最大的问题是如果获得自己想要的东西,搜索时选择准确的关键字是至关重要,准确的关键字能让你很快的找到所需的资料,而一个不好的关键字则让你的工作事倍功半。找过自己所需的资料时,筛选自己所需的也是一个很重要的过程。你搜索的到的资料不一定就适合你,因为汇编的平台依赖性,而且整个汇编的模式选择也不同,等等。本次课程设计,掌握了使用“轻松汇编”这个汇编编辑器,和在其提供的调试环境下做调试。做调试的过程中按F7(跟踪调试)F8(单步调试)是一个以前听说过学习c+和vc的人的F9,F10键是光秃秃的,现在真的明白了。调试是一个必要必须的过程,这样才知道你的程序出现问题时
7、的问题所在。在课程设计的过程中,遇到了好多问题,走了不少的弯路,通过努力,最终解决了不少问题。做课程设计的过程是为自己修一条路,先前是凸凹不平的道路,等到你做足了功夫,一点点的走过。自己的这条路才宽了,才平了。由于3到5之间的算法原理和3到9之间的算法是一样的,所以课程设计做到了3到9。综合来说,本次课程设计让我对学习汇编有了一个新的认识。附录:源程序代码 CODE SEGMENT ASSUME CS:CODE,DS:CODE ORG 100H START: PUSH CS POP DS MOV AX,3 INT 10H ;BIOS中断,置文本显示模式 MOV AX,0B800H MOV ES
8、,AX ;定位显存 MOV DX,OFFSET MSG MOV AH,9 INT 21H ;提示 T0: MOV AH,0 INT 16H ;接收数据 CMP AL,1BH ;Esc键结束程序 esc(ascii=1Bh) JZ QUIT CMP AL,3 ;数据校验,保证输入3al9 JB T0 CMP AL,9 JA T0 MOV AH,0EH ;在Teletype模式下显示字符 INT 10H ;显示有效数 SUB AL,30H ;得到十进制数字 PUSH AX MUL AL ;al*al MOV SI,AX ;保存矩阵最大数到si中 POP AX CBW ;chang byte to
9、word MOV BP,1 ;第一个元素值 MOV DI,3*80*2 NEXT: MOV CNT1,AX ;输入数据保存到cnt1 DEC AX ;n-1 MOV CNT2,AX MOV CNT3,AX DEC AX ;(n-1)-1 MOV CNT4,AX ADD DI,3*2 CALL SHOW ;输出矩阵 MOV AX,CNT1 SUB AX,2 SUB DI,3*2 CMP BP,SI JBE NEXT ;bpsi,则继续执行 MOV AH,0 INT 16H ;等待 JNZ START QUIT: MOV AX,4C00H INT 21H SHOW: ;显示方阵 MOV CX,CN
10、T1 ;right 向右赋值 M1: CALL CRT INC BP ;下一个元素数值 LOOP M1 MOV CX,CNT2 ;down 向下赋值 JCXZ P2 ;cx=0,则转p2处 M2: ADD DI,(80-3)*2 CALL CRT INC BP LOOP M2 MOV CX,CNT3 ;left 向左赋值 JCXZ P2 M3: SUB DI,6*2 ;下一个元素位置 CALL CRT INC BP LOOP M3 MOV CX,CNT4 ;up 向上赋值 JCXZ P2 M4: SUB DI,(80+3)*2 CALL CRT INC BP LOOP M4 P2: RET CRT: MOV AX,BP AAM ;调整指令 OR AX,3030H XCHG AH,AL ;交换ah和al CMP AL,0 JNZ P1 MOV AL,20H P1: STOSB ;显示十位 INC DI MOV AL,AH STOSB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 教育培训资源租赁合同
- 塑料制品物流招标模板
- 外籍员工住宿租赁合同
- 文化创意产业人才聘用合同样本
- 专卖店电气系统聘用协议
- 农业机械检修安全要求
- 北京旅游纪念品采购策略
- 生态保护区用地管理办法
- 生态环境监测站合同范例
- 硬件公司图书室管理办法
- 2023新乡生态环境局事业单位考试真题
- 有限空间辨识与作业安全管理台账(模板)
- 设备维修岗位危险源辨识风险评价及控制表
- 【课件】第5课+森さんは+7時に+起きます+课件-高中日语新版标准日本语初级上册
- 小学英语-Mum bug's bag教学设计学情分析教材分析课后反思
- 复盘养猪分析:探寻背后的成功秘诀
- 《我国运动员在奥林匹克运动会取得的辉煌成绩》 课件
- 旅行社团队确认书三篇
- 海康2023综合安防工程师认证试题答案HCA
- 《超市水果陈列标准》
- 施美美的《绘画之道》与摩尔诗歌新突破
评论
0/150
提交评论