微机原理课设数制转换

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计任务书

学生:专业班级:

指导教师:工作单位:理工大学

题目:数制转换3

任务容:

通过键盘输入一个8进制数,通过屏幕提示菜单选择转换成2进制,10进制或者16进制数并显示。

要求完成的主要任务:

设计方案的选择与确定:

根据题目要求,参考相关文献资料,选择合适的软硬件设计方案。

图纸绘制:

确定硬件方案,完成完整硬件系统连线图的绘制。

程序编制:

确定软件方案,绘制系统软件流程图,完成汇编程序的编制。

说明书撰写:

完成课程设计说明书的撰写,字数不少于3000字。

时间安排:

资料检索与收集2天

系统方案设计与确定1天

系统设计与程序编写3天

说明书撰写3天

答辩1天

指导教师签名:年月日

系主任(或责任教师)签名:年月日

目录

摘要 .................................................................................................. I

1 原理分析 (2)

2 分析任务及要求 (4)

2.1数制转换算法 (4)

2.1.1 八进制转换成二进制 (4)

2.1.2八进制转换成十进制 (4)

2.1.3八进制转换成十六进制 (4)

3 程序设计流程 (5)

3.1绘制程序流程图 (5)

3.2设计思路 (6)

4 汇编语言源程序设计 (7)

4.1堆栈段和数据段程序设计 (7)

4.2主程序设计 (7)

4.3输入八进制数程序 (9)

4.4输出二进制数程序 (9)

4.5输出十进制数程序 (10)

4.6输出十六进制数程序 (11)

4.7回车键确定程序 (12)

5 结果分析 (13)

6 小结与体会 (16)

参考文献 (17)

附录 (18)

摘要

本次程序设计主要是利用汇编语言中的DOS调用和各种进制间的转换来实现通过键盘输入一个8进制数,在屏幕上提示菜单选择转换成2进制,10进制或者16进制数并显示。

汇编语言是面向机器的程序设计语言。汇编语言比机器语言易于读写、调试和修改,同时也具有执行速度快,占用存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植,本次设计主要是利用8086汇编语言进行设计。

常说汇编语言过时,是低级语言,并不是说汇编语言要被弃之,相反,汇编语言仍然是程序员必须了解的语言,在某些行业与领域,汇编是必不可少的,非它不可适用。只是,现在计算机最大的领域为IT软件,也是我们常说的Windows编程,在熟练的程序员手里,使用汇编语言编写的程序,运行效率与性能比其它语言写的程序时成倍的优秀,但是代价是需要更长的时间来优化,假如是对计算机原理及编程基础不扎实,实在是得不偿失,对比现在的软件开发,已经是市场化的软件行业,加上高级语言的优秀与跨平台,一个公司不可以让一个团队使用汇编语言来编写所有的东西,花几倍甚至是几十倍的时间,不如使用其它语言来完成只要最终结果不比汇编语言编写的差太多,就能抢先一步完成,这是市场经济下得必然结果。

但是,这也并不代表汇编语言是没有用的、不需要学的,相反,只有在理解和掌握汇编语言的基础上,才能更好的使用其它高级语言。

关键词:汇编,汇编语言,机器语言,DOS调用

数制转换课程设计

1原理分析

进位计数制是人们利用符号来计数的方法。一种进位计数制包含一组数码符号和两个基本因素。数码是用不同的数字符号来表示一种数制的数值,这些数字符号称为”数码”。基是数制所使用的数码个数称为”基”。权是某数制每一位所具有的值称为”权”。

十六进制(Hexadecimal) 0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F

十进制(Decimal) 0.1.2.3.4.5.6.7.8.9

八进制(Octal) 0.1.2.3.4.5.6.7

二进制(Binary) 0.1

在计算机部采用二进制计数制,但在实际应用中,需要计算机处理的信息是多种多样的,如各种进位制的数据,不同语种的文字符号和各种图像信息等。但在计算机中采用的是二进制计数制。本次课程设计通过所学的微机原理,用汇编语言编写程序,实现二进制转换成十进制或十六进制,十进制转换成二进制或十六进制,十六进制转换成二进制或十进制。

十进制转换为二进制整数部分的方法叫做除2取余法,每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。小数部分的方法叫乘2取整法,就是将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分为零为止。如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数。

二进制转换为十进制不分整数和小数部分,方法(按权相加法)是将二进制每位上的数乘以权,然后相加之和即是十进制数。

二进制转换为十六进制用取四合一法,即从二进制的小数点为分界点,向左(向右)每四位取成一位,接着将这四位二进制按权相加,得到的数就是一位十六位二进制数,然后,按顺序进行排列,小数点的位置不变,得到的数字就是我们所求的十六进制数。如果向左(向右)取四位后,取到最高(最低)位时候,如果无法凑足四位,可以在小数点最左边(最右边),即整数的最高位(最低位)添0,凑足四位。

将十六进制转换为二进制,取一分四法,即将一位十六进制数分解成四位二进制数,用四位二进制按权相加去凑这位十六进制数,小数点位置照旧。

十进制转换成十六进制的方法与十进制转换成二进制的方法相同,但不同的是每次除以16。

相关文档
最新文档