欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    微机原理课设 数制转换.docx

    • 资源ID:1754523       资源大小:150.27KB        全文页数:30页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    微机原理课设 数制转换.docx

    课程设计任务书学生姓名:专业班级:工作单位,,理工高校题目:数制转换3任务内容I通过键楸输入一个8进制数,通过屏幕提示菜单选择转换成2进制,10进制或者I6进制数并显示.要求完成的主要任务:设计方案的选择与确定:依据题目要求,参考相关文献资料,选择合适的软硬件设计方案。图纸绘制:确定硬件方案,完成完整硬件系统连线图的绘制。程序编制:确定软件方案,绘制系统软件流程图,完成汇编程序的编制。说明书撰写:完成课程设计说明书的撰写,字数不少于3000字。时间支配,天天天天天资料检索与收集2系统方案设计与确定1系统设计与程序编写3说明书撰写3答辩1指导老师签名,年月日系主任(或责任老师)签名;年月日书目摘要I1原理分析22分析任务及要求42.1数制转换算法42.1.1八进制转换成二进制42.1.2八进制转换成十进制42. 1.3八进制转换成十六进制43程序设计流程52.1 绘制程序流程图53. 2设计思路64汇编语言源程序设计74. 1堆栈段和数据段程序设计74.2主程序设计74.3输入八进制数程序94.4输出二进制数程序94. 5输出十进制数程序104.6输出十六进制数程序114.7回车键确定程序125结果分析136小结与体会16参考文献17附录18摘要本次程序设计主要是利用汇编语言中的DOS调用和各种进制间的转换来实现通过键盘输入一个8进制数,在醉幕上提示菜单选择转换成2进制,10进制或者16进制数并显示汇编语言是面时机器的程序设计语言.汇编语言比机器语言易手读写、调试和修改,同时也具有执行速度快,占用内存空间少等优点,但在编写困难程序时具有明显的局限性,汇编语言依靠于具体的机型,不能通用,也不能在不同机型之间移植,本次设计主要是利用8086汇编语言进行设计。常说汇编语言过时,是低级语言,并不是说汇编语言要被弃之,相反,汇编语言仍旧是程序员必需了解的语言,在某些行业与领域,汇编是必不行少的,非它不行适用.只是,现在计算机最大的领域为IT软件,也是我们常说的MindOWS编程,在娴熟的程序M手里,运用汇编语言编写的程序,运行效率与性能比其它语言写的程序时成倍的优秀,但是代价是须要更长的时间来优化,假如是对计克机除理及编程基础不扎实,实在是得不偿失,对比现在的软件开发,己经是市场化的软件行业,加上高级语言的优秀与跨平台,一个公司不行以让一个团队运用汇编语言来编写全部的东西,花几倍甚至是几十倍的时间,不如运用其它语言来完成只要最终结果不比汇编语言编写的差太多,就能抢先一步完成,这是市场经济下得必定结果。但是,这也并不代表汇编语言是没有用的、不须要学的,相反,只有在理解和驾驭汇编语言的基础上,才能更好的运用其它而级语言。关键词:汇编,汇编语言,机器语言,DoS调用数制转换课程设计1原理分析进位计数制是人们利用符号来计数的方法。一种进位计数制包含一组数码符号和两个基本因素。数码是用不同的数字符号来表示一种数制的数值,这些数字符号称为"数码”,基是数制所运用的数码个数称为"基"。权是某数制每一位所具有的值称为“权”.十六进制(HeXadeCimaI)0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F十进制(Decima1.)0.1.2.3.4.5.6.7.8.9八进制(Octa1.)0.1.2.3.4.5.6.7二进制(Binary)0.1在计算机内部采纳二进制计数制,但在实际应用中,须要计算机处理的信息是多种多样的,如各种进位制的数据,不同语种的文字符号和各种图像信息等.但在计算机中采纳的是二进制计数制“本次课程设计通过所学的微机原理,用汇编语言编写程序,实现二进制转换成十进制或十六进制.十进制转换成二进制或十六进制,十六进制转换成二进制或十进制。十进制转换为二进制整数部分的方法叫做除2取余法,每次将整数部分除以2,余数为该位权上的数,而商接着除以2,余数又为上一个位权上的数,这个步骤始终持续下去,直到商为0为止,最终读数时候,从最终一个余数读起,始终到最前面的一个余数小数部分的方法叫乘2取整法,就是将小数部分乘以2,然后取整数部分,剩下的小数部分接若乘以2,然后取整数部分,洞下的小数部分又乘以2,始终取到小数部分为零为止.假如恒久不能为零,就同十进制数的四舍五人一样,依据要求保密多少位小数时,就依据后面一位是0还是1,取舍,假如是零,含掉,假如是1,向入一位。换句话说就是。舍1人.读数耍从前面的整数读到后面的整数。二进制转换为十进制不分整数和小数部分,方法(按权相加法)是将二进制每位上的数乘以权,然后相加之和即是十进制数.二进制转换为十六进制用取四合法,即从二进制的小数点为分界点,向左(向右)每四位取成位,接着将这四位二进制按权相加,得到的数就是位十六位二进制数,然后,按依次进行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数。假如向左(向右)取四位后,取到最高(最低)位时候,假如无法凑足四位,可以在小数点最左边(最右边),即整数的最高位(最低位)添o凑足四位。将十六进制转换为二进制.取分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。十进制转换成十六进制的方法与十进制转换成二进制的方法相同,但不同的是每次除以16.2分析任务及要求题目内容:通过键盘输入个8进制数,通过屏幕提示菜单选择转换成2进制,10进制或*T6进制数并显示。设计要求:依据题目要求,参考相关文献资料,选择合适的软硬件设计方案。图纸绘制:硬定硬件方案,完成完整硬件系统连线图的绘制。程序编制:确定软件方案,绘制系统软件流程图,完成汇编程序的编制。通过时时目进行分析,简洁看出本次设计可分为3个部分:输入、进制转换、输出显示.输入可通过DOS调用一一OAH,输入一个八进制数:进行数值转换:输出也通过IX)S调用一一09H,实现输出并显示.2.1 数制转换算法1. 1.1八进制转换成二进制由八进制向二进制转换可将每一位八进制数对应于三位二进制数,依次进行替换,转换方式如下所示(左边是一位八进制数,右边是该八进制数所对应的二进制数):0000;1001:2010;3011:4100;5101;6110:7I1.h2. 1.2八进制转换成十进制八进制向十进制的转换可通过按基数位权的绽开方式来实现,方法是将八进制每位上的数乘以权,然后相加之和即是十进制数.3. 1.3八进制转换成十六进制若将八进制干脆向十六进制转换,则比较困难,故可以将八进制先转换为二进制再转换为十六进制.将八进制转换为二进制的算法在第一节己经说明,这里不再赘述,故下面只说明二进制转换为十六进制的莫法(左边为二进制数,4个一组,右边为16进制):OOOO0;0001一1:00102:00113;01004:01015:01106:01117:10008;1001-9;1010A:1011B:1100C:1101-D;1110E;I1.1.1.F;3程序设计流程3.1 绘制程序流程图图3-1程序流程图4. 2设计思路首先对原理进行分析,了解不同进制数之间是如何进行转换的,充分相识汇编语言的指令系统,驾驭各个汇编语言的指令系统,驾驭各个汇编指令的功能及用法,了解各种程序结构(依次、分支、循环和子程序)的特点。首先定义堆栈段,再定义数据段,在数据段中输入MENu中要显示的内容,再建个表TAB1.E,TAB1.E中的内容为1.I,1.2,1.3.然后依据题目要求设计简洁的程序流程图,再依据流程图设计出每个模块的汇编语言程序,然后再通过调用、跳转、转移等方法将各个子程序连接在起。这样依据题目要求的汇编程序就初步完成了。本次利用的软件是MF2KP,首先在MF2KP环境下输入设计的汇编程序,然后编译、连接、运行。4汇编语言源程序设计4.1 堆栈段和数据段程序设计首先定义堆栈段和数据段的程序,程序设计如下所示:DATASEGMENTMENUDB'P1.easeInputYourChoice:1:Bin2,2:Dec1.O,3:Hex1.6",Odh,Oah,$'Mess1.db'P1.easeinputa0ct8number:',Odh,Oah,'S'Mess2db'OutputBin2is:',Odh,Oah,'Mess3db'OutputDec1.Ois:',Odh,Oah,'Mess4db'OutputHex16is/,Odh1Oah,'ERRORDB,ERRORiP1.EASEINPUTYOURCHOICEAGAIN,S'TAB1.EDWA1,1.1,1.2,1.3DATAENDSCODESEGMENTASSUMECSiCODE,DSiDATA5. 2主程序设计MAINPROCFARASSUMECSzCODE,DSzDATASTART:MOVAX,DATAMOVDS,AX.U1.:1.EADX,MENUMOVAH,09HINT21HMOVAH,O1.HINT21HSUBA1.,30HCMPA1.,04HJBDONE1.EADX,ERRORMOVH,09HINT21HJMPAA1.DONErCMPA1.1O1.HJZ1.1.CMPA1.,02HJZ1.2CMP1.,03HJZ1.31.kCA1.1.INOCTCA1.1.FARCR1.FCA1.1.FARO1.TBINCA1.1.FARCR1.FJMPAA1.1.2:CA1.1.INOCTCA1.1.CR1.FCA1.1.O1.TDECCA1.1.CR1.FJMPAA1.1.3:CA1.1.FARINOCTCA1.1.FARCR1.FCA1.1.FRO1.THEXCA1.1.FARCR1.FJMPAA1.MAINENDPMOVAH.4CHINT21HCODEENDS4.3输入八进制数程序INOCTPROCNEAR1.EADX,MESS1.MOVAH,09HINT2111MOVBX,0INO1.kMOVAH1O1.HINT21HCMPA1.1ODHJZIN0EXITSUBA1.,30HCMPA1.19JBEIN01.2SUBA1.17IN01.2:M0VC1.,3SH1.BX1C1.ORB1.,A1.JMPINO1.1.INOEXIT:RETINOCTENDP4.4输出二进制数程序O1.TBINPROCNEAR1.EADX,MESS2MOVAH,09HINT21HMOVCX116OB1.1.:RO1.BX11MOVD1.,B1.ORD1.,30HMOVAH,02HINT21H1.OOPOB1.1.RETO1.TBINENDP4.5输出十进制数程序OUTDECPROC1.EADX1MESS3MOVAU.09HINT21HMOVCX,100OOCA1.1.DEC1.1.MOVCX1100OCA1.1.DEC1.1.MOVCX,100CA1.1.DEC1.1.MOVCX110CA1.1.DEC1.1.MOVCX11CA1.1.DEC1.1.RETOUTDECENDPDEC1.1.PROCNEARMOVAX.BXMOVDX,ODIVCXMOVBX1DXADDD1.130HMOVAH,2INT21HRETDEC1.1.ENDP4.6输出十六进制数程序O1.THEXPROC1.EADX1MESS4MOVAH,09HINT21HMOVCX,4OH1.1:RO1.BX11RO1.BX11RO1.BX11RO1.BX11MOVD1.1B1.ANDD1.,OI'HADDD1.130HCMPD1.139HJBE0H1.2ADDD1.170H1.2:.M0VAH.02HINT21H1.OOPOH1.1.RETO1.THEXENDPCODEENDS4.7回车键确定程序CR1.FPROCMOVAH.02HMOVD1.,ODUINT2111MOVD1.,OAHINT2111RETCR1.FENDP5结果分析调试运行后首先出现的界面是:请输入您的选择:转换为二进制输出则输入1;转换为十进制输出则输入2:转换为十六进制输出则输入3;结果如下图4-1图5-1请输入您的选择上述选择输入后,就显示:请输入一个八进制数,结果如卜.图4-2所示:图5-2恩求输入一个八进制数此后输入依据界面提示输入相应的数字即可完成各数制间的,专换,其算法已在前面具体说明,这里不再赘述.c1.,3He×16图5-3将八进制转换成二进制数输出熨E:Masmbinr1.easeInputourChoice:1:IP1.easeinputa0ct8unber:OutputBin2is:000000000001.11P1.cascInPUtVourChoice:1:Bin2*2:Dcc1.3:Hex1.62P1.easeinp<ta0ct8nunber:11(XituutDec1.0is:0的P1.eaS8InputVourChoice:1:Bin22:Dec1.03:Hex1.6图5-4将八进制转换成十进制数输出虫EMasmbinDremp.eeP1.easeInputVourChoice:Bin7Kci03:Hex1.OutputBin2ie:06000000000111IP1.easeinputa0ct8nunber:7P1.easeInputVourChoice:1.:Bin292:I>ec1.0*3:Hex1.62P1.easeinputaOCt8nunber:11OutputDcc1.Bis:<»<rciriwy1.Iease1.np<tYout*Choice:!:Bin2r2:Dec1.H3:Hex1.63P1.easeinputaOctnunber:17OutputHe×16is:QF>1.easeInputYourChoice:1:Bin2,2:Deci03:Hex1.6图55将八进制转换成十六进制数输出6小结与体会“微机原理与系统设计”作为电子信息类本科生教学的主要基础课之,课程紧密结合电子信息类的专业特点,困绕微型计算机原理和应用主题,以emeu8086CPU为生线,系统介绍微型计算机的基本学问,基本组成,体系结构和工作模式,从而使学生能较清晰地了解微机的结构与工作流程,建立起系统的概念。这次微机原理课程设计,在设计的这些日子里,可以说得是廿苦与共,田的是可以学到许多许多的的东西,不仅巩固了以前所学过的学问,而I1.学到了许多在书本上所没有学到过的学问。深刻了解了老师生科常常强调的东西,比如画流程图的习惯。起先我并不非常在意。但是,这次课程改计完全领置了我以前的相识,在这次课程设计中,画程序方框图显得尤为重要。通过流程图,在做设计的过程中,我清晰的知道每步要做什么,每步要完成什么任务,而I1.在程序调试的过程中也有利于查错。相比之前错误的做法,究其缘由还是因为课本上用到的基本都是些基础性版的程序,思路已经相当清晰再画流程图显得多余。其次,以前对于编程工具的运用还处于知半解的状态上,但是经过段编程的实践,对于怎么去排错、查错,怎么去看每一步的运行结果,怎么去了解每个寄存器的内容以确保程序的正确性上都有了很大程度的提高。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论学问是远远不够的,只有把所学的理论学问与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手实力和独立思索的实力。在实际设计的过程中遇到问题,可以说是雄.以预料的,各种各样的问题都会出现,同时也会在设计的过程中发觉自己的不足之处,例如对以前所学的学问驾驭不够坚固、理解的不够深刻。通过这次课设我驾驭了怎么去处理实际编程中出现的各类问题,其次在编程中发觉了自己的弱点,最终巩固了理论学问,提高了自己的动手实力。这次微原课设圆满完成,个中味道确是只有自己亲身经验才明白。这次的设计,让我对微机原理的理解乂更深了一层,提高了我将理论与实际相结合和解决问题的实力。同时,我要感谢帮助我的小伙伴们,他们的建议,指导,帮我分析让我顺当完成课设。通过这次课设,作为工科生的我应当谨记:程序只有在常常的读和写中才可提高,在以后学习编程语言的时候,应当要多动手实践编程,实践出真知是亘古不变的真理。参考文献1潘峰主编.微型计算机原理与汇编语言.第三版.西安:电子工业出版社,20032韩志军.G微机原理课程的教学改革与实践J南京工程学院学报(社会科学版).2003.123杨素行微型计算机系统原理及应用,北京,清华高校出版社,2004年4微机试脸及课程设计教程(试用版2.0),东南高校以微机系统与接口课程组,2009年2月5周佩玲.微型计算机原理与接口技术.电子工业出版社,20056谭浩强.微型计算机原理及应用.清华高校出版社,2001附录以下为实际完整程序段DATASEGMENTMENUDB,P1.easeInputYourChoice:1:Bin2,2:Dec10,3:Hex16',Odh1Oah,$'Mess1.db'P1.easeinputa0ct8number:',Odh,Oah,'S'Mess2db'OutputBin2is:',Odh,Oah,'Mess3db'OutputDcc1.Ois:',Odh,Oah,'Mess4db'OutputHex16is:*,Odh,Oah,'ERRORDB'ERROR!P1.EASEINPUTYOURCHOICEAGAIN,S'TAB1.EDWAA1.11.1,1.2,1.3DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX.U1.:1.EADX,MENUMOVAH,09HINT21HMOVAH,O1.HINT21HSUBA1.,30HCMPA1.,08HJBEDONE1.EADX,ERRORMOVH,09HINT21HJMPAA1.DONErCMP1.,01HJZ1.1.CMPA1.,02HJZ1.2CMP1.,03HJZ1.31.kCA1.1.INOCTCA1.1.CR1.FCA1.1.O1.TBINCA1.1.CR1.FJMPAA1.1.2:CA1.1.INOCTCA1.1.CR1.FCA1.1.O1.TDECCA1.1.CR1.FJMPAA1.1.3:CA1.1.INOCTCA1.1.CR1.FCA1.1.O1.THEXCA1.1.CR1.FJMPAA1.CR1.FPROCMOVAH,02HMOVD1.,ODUINT21HINT21HRETCR1.FENDPINOCTPROCNEAR1.EADXtMESS1.MOVAH,09HINT21HMOVBX,OINO1.I:MOVH,01HINT21HCMPA1.,ODHJZINOEXITSUBA1.130HCMPA1.19JBEIN01.2SUBA1.7INo1.2:MOVC1.13SH1.BX1C1.ORB1.,A1.JMPINO1.1.INOEXIT:RETINOCTENDPO1.TBINPROCNEAR1.EADX,MESS2MOVH,09HINT21HMOVCX116OB1.1.:RO1.BX11ORD1.,30HMOVAH,02HINT21H1.OOPOB1.1.RETO1.TBINENDPOUTDECPROC1.EADX1MESS3MOVAU.09HINT21HMOVCX,100OOCA1.1.DEC1.1.MOVCX1100OCA1.1.DEC1.1.MOVCX,100CA1.1.DEC1.1.MOVCX110CA1.1.DEC1.1.MOVCX11CA1.1.DEC1.1.RETOUTDECENDPDEC1.1.PROCNEARMOVAX.BXMOVDX,ODIVCXMOVBX1DXAH,221HMOVINTRETDEC1.1.ENDPO1.THEXPROC1.EADX1MESS4MOVAH,09HINT21HMOVCX,4OH1.1:RO1.BX11RO1.BX11RO1.BX11RO1.BX11MOVD1.1B1.ANDD1.,OI'HADDD1.130HCMPD1.139HJBE0H1.2ADDD1.170H1.2:.M0VAH.02HINT21H1.OOPOH1.1.RETO1.THEXENDPCODEENDSENDSTART

    注意事项

    本文(微机原理课设 数制转换.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开