最新版课设

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

微机原理课程设计————屏幕显示图形的设计课程名称:微机原理及应用系别专业:电力学院自动化专业学号:201009512姓名:毕银平指导教师:王亭岭一、要求1)利用80x86汇编语言BIOS中断调用的方法,通过‘*’字符设计自己的名字及学号,并在显示器上用6种以上的颜色显示出来;2)动态切换姓名与学号;3)可自行设计显示姓名及学号的方案。二、分析1)BIOS中断调用:BIOS常驻ROM,独立于DOS,可与任何操作系统一起工作。它的主要功能是驱动系统所配置的外部设备,如磁盘驱动器、显示器、打印机及异步通讯接口等。通过INT10H~INT1AH向用户提供服务程序的入口,使用户无需对硬件有深入了解,就可完成对I/O设备的控制与操作。BIOS的中断调用与DOS功能调用类似。2)图形设计:掌握BIOS中断调用INT10H的13H号功能。注意13H号功能入口参数的要求。3)颜色显示:在彩色显示屏幕上每个字符在存储中用两个字节表示。一个字节保存字符的ASCII码,另一个字节保存字符的属性。BIOS中断调用INT10H的13H号功能是显示字符串,字符的属性在BL中。属性设置方法见教材第四章164页。根据流程图编写源程序ROW=8COLUM=00ESCKEY=1BHSSEGSEGMENTTOSDB100HDUP(?)SSEGENDSDSEGSEGMENTMENUDB0DH,0AH,'------------COMTENT-------------',0DH,0AHDB0DH,0AH,'*1.SHOWTHE[2010],PRESSY.'DB0DH,0AH,'*2.SHOWTHE[NAME],PRESSN.'DB0DH,0AH,'*3.SHOWTHE[NUMBER],PRESSANYKEY!'DB0DH,0AH,'*4.TOEXIT,PRESSTHE[ESC].'N=$-MENUCOLORBDB07H,01H,0FH,70H,74H,87H,04FH,74H,2EH,59H,6FH,6DH,20HCOLORELABELBYTEMSDW0000H;延时参数N1DB00H;确定框大小的参数NHDB00H;框长度NLDB00H;框宽度COUNTDB00HFDB00HMHDB00HMLDB00HDSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEG,SS:SSEG,ES:DSEGSTART:MOVAX,DSEGMOVDS,AXMOVES,AXMOVAX,SSEGMOVSS,AXMOVSP,OFFSETTOSMOVDI,OFFSETCOLORBCALLCLRSCALLHUAKUANGCALLTISHICALLMINGTISHIPROCNEARLEABP,MENU;显示提示菜单MOVAH,13HMOVAL,01MOVCX,NMOVBL,0BHMOVBH,0MOVDX,0327HINT10HRETTISHIENDPMINGPROCNEARNEXTC:INCDI;改变颜色CMPDI,OFFSETCOLOREJBENEXTEMOVDI,OFFSETCOLORBNEXTE:MOVBL,[DI]MOVDH,ROWMOVDL,COLUMMOVAH,00H;选择要显示的字符INT16HCMPAL,'Y'JZC1CMPAL,'N'JZC3CMPAL,1BH;退出JZOVER1JMPC2C1:CALLECHO1JMPNEXTCOVER1:CALLCLRSCALLSHUAKUANGMOVAX,4C00HINT21HC2:CALLECHO2JMPNEXTCCALLSHUAKUANGCALLCLRSMOVAX,4C00HINT21HC3:CALLECHO3JMPNEXTCCALLSHUAKUANGCALLCLRSMOVAX,4C00HINT21HMING1:RETMINGENDPECHO1PROCNEAR;子程序1,显示MESS1MOVSI,OFFSETMESS1MOVCX,MESS_LEN1PUSHESPUSHBPPUSHDSPOPESMOVBP,SICALLCLRSCALLECH04POPBPPOPESRETECHO1ENDPECHO2PROCNEAR;子程序2,显示MESS2MOVSI,OFFSETMESS2MOVCX,MESS_LEN2PUSHESPUSHBPPUSHDSPOPESMOVBP,SICALLCLRSCALLECH04POPBPPOPESRETECHO2ENDPECHO3PROCNEAR;子程序3,显示MESS3MOVSI,OFFSETMESS3MOVCX,MESS_LEN3PUSHESPUSHBPPUSHDSPOPESMOVBP,SICALLCLRSCALLECH04POPBPPOPESRETECHO3ENDPECH04PROCNEARMOVBH,0MOVAH,2;设置光标位置INT10HMOVAL,20H;用指定属性写一空格MOVAH,9INT10HMOVAH,0EHECHO5:MOVAL,[SI]INCSIINT10H;逐个显示字符CALLDELAY;调用延时子程序LOOPECHO5ECH06:RETECH04ENDPHUAKUANGPROCNEAR;画框子程序L0:MOVMH,0EHMOVML,1EHMOVNH,01HMOVNL,01HL1:CALLCLRS;清屏CALLKUANG;画框MOVMS,8888HL2:CALLDELAYLOOPL2MOVMS,0002HDECMHDECML;确定坐标INCN1;确定框的大小PUSHAXMOVAL,N1MOVAH,02HMULAHMOVNL,AL;矩形框宽度变2倍POPAXCMPN1,10HPUSHAXMOVAL,NLMOVAH,02HMULAHSUBAL,03HMOVNH,AL;矩形框长度是宽度的2倍POPAXJZL4;框静止999999INCDICMPDI,OFFSETCOLOREJBL1MOVDI,OFFSETCOLORBL4:CALLTISHIHUAKUANG1:RETHUAKUANGENDPSHUAKUANGPROCNEAR;画框子程序L11:CALLCLRS;清屏CALLKUANG;画框MOVMS,8888HL22:CALLDELAYLOOPL22MOVMS,0002HINCMHINCML;确定坐标DECN1;确定框的大小PUSHAXMOVAL,N1MOVNH,ALMOVAH,02HMULAHMOVNL,AL;矩形框宽度变2倍POPAXCMPN1,00HJZL44;框静止999999PUSHAXMOVAL,NLMOVAH,02HMULAHSUBAL,03HMOVNH,AL;矩形框长度是宽度的2倍POPAXINCDICMPDI,OFFSETCOLOREJBEL11MOVDI,OFFSETCOLORBL44:JMPOVEROVER:CALLCLRSMOVAH,4CHINT21HSHUAKUANG1:RETSHUAKUANGENDPKUANGPROCNEARMOVDH,MHMOVDL,MLCALLSHU;画竖线CALLHENG;画横线,使长度是竖线宽度的3倍MOVDH,MHMOVDL,ML;回到初始坐标CALLHENG;画横线,使长度是宽度的3倍CALLSHUKUANG1:RETKUANGENDPHENGPROCNEARHENG1:INCDLCALLPRINTCALLDELAYINCCOUNTMOVAH,NHCMPAH,COUNTJNZHENG1MOVCOUNT,00HHENG2:RETHENGENDPSHUPROCNEARSHU1:INCDHCALLPRINTCALLDELAYINCCOUNTMOVAH,NLCMPAH,COUNTJNZSHU1MOVCOUNT,00HSHU2:RETSHUENDPDELAYPROCNEAR;延时PUSHCXPUSHDXMOVDX,40WAIT1:MOVCX,0010HWAIT2:LOOPWAIT2WAIT3:MOVCX,0010HWAIT4:LOOPWAIT4DECDXJNZWAIT1POPDXPOPCXRETDELAYENDPCLRSPROCNEAR;清屏子程序PUSHAXPUSHBXPUSHCXPUSHDXMOVAH,6MOVAL,0MOVCH,0MOVCL,0MOVDH,34HMOVDL,79MOVBH,7INT10HPOPDXPOPCXPOPBXPOPAXRETCLRSENDPPRINTPROCNEAR;描点子函数PRINT1:MOVBL,[DI]MOVBH,00HMOVAH,02HINT10HPUSHCXMOVCX,0001HMOVAL,2AHMOVAH,09HINT10HPOPCXMOVCX,MSPRINT2:CALLDELAYLOOPPRINT2RETPRINTENDPCSEGENDSENDSTART利用定时器中断实现动画设计课程设计小结;这算是我的二次返工吧,经过几个夜晚的挑灯夜战做出了点创新,感觉小有成就,其实这时大部分同学的课设早已结束,我由于上次偷懒那考试当借口没好好做,复制了一个学长的模板就草草了事,抱着侥幸心理应付这次课设,老师那么认真负责的给我们辅导,老师把休息时间吃饭时间都挤出来给我们百十人一一面试,但轮到我时老师一眼就看出我的不是自己做的,几句话把我问的都想钻地缝里,看着别人的成果很是羡慕也有不少的懊恼,是呀,这一星期我都干嘛那,别人都能做出来我为什么不能,老师给了我第二次机会让我做,老师对我都那么负责我不能再放纵自己了,回去查资料,而两天后就要考试了也没怎么好好复习,我就白天复习考试课晚上加班加点做,碰到不懂的记下来白天问同学,终于在老师给的时间内完成了,而且在老师的要求以为还添加了一个方框动漫,使其在逐渐变大的同时改变颜色,增加了动态美,视觉感,这是这次编程的大工程也是与众不同的地方,算是我的小创新吧,虽然这次做的只是个小型的课程设计,我深深感觉到什么是压力越打动力越大了,正是一个个绊脚石铺平了成功的道路,人的潜力是无限的,不能在找借口说我不会我不能,非常感谢老师给我这次机会和对我的严格要求,不仅提高了汇编水平,更重要的是要直面压力挫折使它们成为动力。

1 / 14
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功