字符串动态显示微原课设报告_第1页
字符串动态显示微原课设报告_第2页
字符串动态显示微原课设报告_第3页
字符串动态显示微原课设报告_第4页
字符串动态显示微原课设报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、河北科技大学课程设计报告 学生姓名: 学号: 专业班级: 电信L122班 课程名称: 微型计算机原理及应用技术 学年学期: 2 0 14 2 0 15 学年第 1 学期 同组人员: 指导教师: 张永强 2 0 14年 12 月课程设计成绩评定表学生姓名学 号成绩专业班级电信L122起止时间2014-12-20 至 2014-1-10设计题目字符串动画显示 指导教师评语课程设计态度: 端正 较端正 一般 较差 课程设计纪律:好 较好 一般 较差 课程设计出勤情况:好 较好 一般 较差 课程设计任务完成情况:优秀 好 一般 较差 课程设计报告完成情况:优秀 好 一般 较差 动手能力:强 较强 一般

2、 较差 团队精神:好 较好 一般 较差 创新意识:强 较强 一般 较差 指导教师: 年 月 日目录一、设计目的-4二、设计任务与要求-4三、小组分工-4四、实现方法-5五、功能效果展示-66、 心得体会-9七、参考资料-10八、附源程序-1114一、设计目的:1、掌握汇编语言,会利用汇编语言编写一定功能的程序;2、熟悉DOS环境以及在DOS下会调试编写好的汇编程序;3、熟悉常用的DOS功能;4、小组合作完成设计题目。二、设计任务与要求设计内容要求: 1、菜单内容包括:输入字符串;字符串动画显示;退出。 2、输入字符串选择该项后,可以输入一个字符串。该字符串即为动画显示时所显示的字符串。 3、字

3、符串动画显示 所显示字符串在一矩形框内从无到有,一半从左另一半从右向中间移动,当两半相遇时停止移动,当按下R键后重复从两边到中间移动的动作,直到按下Q键,停止字符串动画显示返回到主菜单。 4、在主菜单中选择退出项,则结束程序返回DOS。3、 小组分工序号工作内容 成员1确定设计思路,画流程图 2编写程序段 3编写菜单项 4程序汇总 4、 实现方法4.1 MASM编译开发环境实现MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm是Windows下开发汇编的利器。它与windows平台的磨合程

4、度非常好,但是在其他平台上就有所限制,使用MASM的开发人员必须在windows下进行开发。MASM版本至今在不断的更新,目前的最新版本为10.0,推荐使用新版本进行开发。MASM 5.0 是最常用的汇编连接软件 其简单操作为 输入asm文件将其连接为obj文件 用link得到exe文件。4.2算法实现软中断:DOS功能调用编写的程序中INT 10H和INT 21H软中断的应用。如下表:INT 10H功能号功能入口参数出口参数00H设置显示模式AL=03 80*25 彩色文本方式无0EH显示字符AL字符字符显示在屏幕上INT 21H功能号功能入口参数出口参数09H显示字符串DS:DX=缓冲区0

5、AH输入字符串DS:DX=缓冲区01H键盘输入字符AL=输入字符INT 16H功能号功能入口参数出口参数00H从键盘读字符AL=字符码AH=扫描码矩形框代码:竖框编写右上角编写右下角编写左下角编写左上角编写横框编写总体流程:设置三个选项分别对应选项标号。将键盘输入的标号与1、2、3相比较以确定不同的程序块调用接口。“1”输入字符串,即进入过程一;“2”动画显示所要求的字符串,即调用过程二;“3”返回DOS系统,即调用EXIT标号。4.3流程图Q段地址初始化进入DOS窗口输出提示信息输入字符串字符串动态显示数码管数据输出开始退出?结束R 5、 功能效果展示1编译成功2连接成功3进入程序主界面4.

6、开始校验5退出程序。六、心得体会 一周的课程设计结束了,在这次的课程设计中不仅检验了我所学习的知识,而且锻炼了我的实际动手操作能力。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。锻炼了独立动手能力,学会了运筹帷幄,并且明白了凡事要注重细节。通过本次课程设计,我将我以前学过的一些指令的运用更加的深刻,还有一些以前没学过的指令,以及如何分工安排和实际应用,如何融入到实际应用中去。然后如何运用masm软件,就算一个字母输入错误都会导致最后程序运行不出来,更加锻炼了我的细心和认真。遇到问题时,通过自己上网查资料,查课本,锻炼了自己动手的能力。这也让我越来越深的认识到,不管以后工作

7、还是学习,学习是永无止境的。学习的过程大体就是:先大体弄懂要学的那些知识,然后是自己进行练习,通过练习发现问题,然后是解决问题,这个自学的过程如此反复,每进行一次锻炼,自己的能力得到一次提升,进而一次次提高自己。实践与理论相结合,才能更好的理解所学知识,今后我将努力将基础知识掌握牢固,争取在下一次课程设计中能够改善这次的不足,做出更好的设计,提高自己的能力。我明白了知识不只是会了就行了,还要多动手,多练习,理论联系实际,才能真正学会,学懂,学通,融会贯通。总之,通过这次的课设,使我受益匪浅。七参考资料微型计算机原理及应用技术第2版 机械工业出版社八、附源程序初始化程序:DATA SEGMENT

8、MENU DB 5 DUP(0AH)DB 31 DUP(' '),'MENU',0DH,0AHDB 25 DUP(' '),2AH,21 DUP('*'),'*',0DH,0AHDB 25 DUP(' '),2AH,' 1.input ',2AH,0DH,0AHDB 25 DUP(' '),2AH,' 2.animate ',2AH,0DH,0AHDB 25 DUP(' '),2AH,' 3.quit ',2AH,0DH

9、,0AHDB 25 DUP(' '),2AH,21 DUP('*'),2AH,0DH,0AHDB 28 DUP(' '),'select(1,2,3):$'MESG DB 0dh,0ah,0dh,0ah,9,'Press any key to exit .$'CNT1 DW 0 CNT2 DW 0 CNT3 DW 0 CNT4 DW 0 CNT5 DW 0 left DW 0str DB 21DB 0BUF DB 0dh,20 DUP(0)DB 25 DUP(' '),201,21 DUP(205)

10、,187,0DH,0AHDB 25 DUP(' '),186,' 1.Input a String .',186,0DH,0AHDB 25 DUP(' '),186,' 2.Display Model . ',186,0DH,0AHDB 25 DUP(' '),186,' 3.Return to DOS . ',186,0DH,0AHDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AXMOV AX,0b800

11、HMOV ES,AXCLD;标志位操作指令 AGAIN: MOV AX,3INT 10H LEA DX,MENU MOV AH,9INT 21Hinput: MOV AH,0INT 16H;等待键盘输入CMP AL,'1' ;等于1不跳转JNZ movestr ;不等于1跳转到 movestrcall inputstr ;输入一个字符串JMP inputmovestr: CMP AL,'2' ;输入等于2不跳转JNZ exittodos ;不等于2跳转 退出call animatestr ;字符串左右移动JMP AGAIN ;返回到主菜单exittodos: C

12、MP AL,'3' ;返回DOSJNZ inputLEA DX,MESGMOV AH,9INT 21HMOV AH,1INT 21HMOV AH,4CHINT 21HYH PROC PUSH CXPUSH DXMOV DX,1000D1:MOV CX,0ffffhLOOP $DEC DXJNZ D1POP DXPOP CXRETYH ENDP;输入字符串inputstr:MOV AX,0e0dHINT 10HMOV AL,0AHINT 10HLEA DX,strMOV AH,0AHINT 21H;输入一个字符串MOV AX,0e0aHINT 10HRETanimatestr:C

13、MP str+1,2JNB y2JMP quity2:call line ;画矩形框y2:XOR AX,AXMOV CNT1,AXMOV CNT5,AXMOV DL,60-2MOV AL,str+1SUB DL,ALMOV DH,0MOV CNT3,DX ;中间空格长度MOV BL,ALINC ALSHR AL,1CBWMOV CNT2,AX ;左半字符串长度SUB BL,ALMOV BH,0MOV CNT4,BX ;右半字符串长度y3:MOV BP,ESPUSH DSPOP ESMOV di,1000HMOV CX,CNT1 ;前导空格长度JCXZ u1MOV AL,20HREP stosb

14、u1:LEA si,BUFMOV CX,CNT2 ;左半字符串长度REP movsbMOV CX,CNT3 ;中间空格长度JCXZ u2MOV AL,20HREP stosbu2:MOV CX,CNT4 ;右半字符串长度REP movsbMOV CX,CNT5 ;末尾空格长度JCXZ u3MOV AL,20HREP stosbu3:show:MOV ES,bpMOV AH,0AHMOV si,1000HMOV di,leftMOV CX,60-2PPP:lodsbstoswLOOP PPPcall yhCMP CNT3,0JZ inputINC CNT1 ;前面空格长度INC CNT5 ;末尾

15、空格长度DEC CNT3 ;中间空格长度CMP CNT3,0JZ kk2DEC CNT3 ;中间空格长度kk2: JMP y3input:MOV AH,0INT 16HCMP AH,10H ;'Q'JZ SSSCMP AH,13H ;'R'JNZ inputCMP CNT3,0 ;中间空格停止JNZ repJMP y2rep:JMP y3SSS:MOV str+1,0quit: LEA si,CNT1XOR AX,AXMOV CX,5kk3:MOV si,AXINC siINC siLOOP kk3XOR di,diMOV CX,80*25MOV AX,720HREP stosw ;清全屏RETline: ;矩形框MOV di,(18*80+10)*2MOV AL,201 ;左上角MOV AH,0dH;/颜色stoswMOV CX,60-2MOV AL,205 ;横框

温馨提示

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

评论

0/150

提交评论