进制转换程序设计

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

学号:120610340505

课程设计

题目不同数制的数据相互转换程序的

设计

学院计算机科学与技术

专业计算机科学与技术

班级计算机0605班

姓名余欢欢

指导教师刘传文

2009 年 1 月15 日

附件2:

课程设计任务书

学生姓名:余欢欢专业班级:计算机0605班

指导教师:刘传文工作单位:计算机科学与技术学院

题目:

初始条件:

理论:学完“汇编语言程序设计”、“课程计算机概论”、“高级语言程序设计”和“数字逻辑”。

实践:计算机学院科学系实验中心提供计算机和软件平台。如果自己有计算机可以在其上进行设计。

要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

(1)输入二进制,十六进制,十进制的无符号数,将它们转换成不同进制的形式,并且输出出来。

(2)程序应有操作提示、输入和输出,界面追求友好,最好是菜单式的界面。

(3)设计若干用例(测试数据),上机测试程序并分析(评价)所设计的程序。

(4)设计报告格式按附件要求书写。课程设计报告书正文的内容应包括:

在正文第一行写课程设计题目;

1.需求说明(要求、功能简述)或问题描述;

2.设计说明(简要的分析与概要设计);

3.详细的算法描述;

4.源程序与执行结果(含测试方法和测试结果);

5.使用说明;

6.总结,包括设计心得(设计的特点、不足、收获与体会)和展望(该

程序进一步改进扩展的设想)。

时间安排:

设计时间一周:周1:查阅相关资料。

周2:系统分析,设计。

周3~4:编程并上机调试。

周5:撰写课程设计报告。

设计验收安排:20周星期五8:00起到计算机学院科学系实验中心进行上机验收。

设计报告书收取时间:20周的星期五下午5:00之前。

指导教师签名: 2009年1月9日

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

不同数制的数据相互转换程序的设计

1.需求说明(要求、功能简述)或问题描述;

这个课程设计的要求和就是通过一个较大型实用程序的设计与实现,综合运用所学知识,加深理解和掌握。同时培养学生分析问题和解决问题的能力,以及自学能力。

这个程序首先要求选择一种数值转换的种类,例如我们可以选择二进制输入,十进制输出,这样就要求我们把输入的二进制转换成十进制。由于按照我们要求的输入,输出,总共有6种情况。所以我们不能一一写出来每个程序的执行过程,对于不同的情况我们只需要定义不同的输入函数和输出函数,根据不同的情况,调用不同的输入函数和输出函数,这样做是为了对于多进制的情况,这样能简化程序。我定义了二进制输入,十进制输入,十六进制输入,二进制输出,十进制输出,十六进制输出,这样就能满足各种需要。

这个实验还涉及到各种跳转,各个寄存器之间的移动,特定的输入和输出。调用01h的输入功能,结果在al中,调用02h的输出功能,输出得到是dl里面的内容。提示信息的输出是用db来定义的,结束标志是$,同时我也定义了一个表,来应对各种不同的情况。由于寄存器有限,所以我们有时会用到入栈和出栈,同时寄存器的运用要很有技巧,我也从这个实验中学到了很多东西,对于数值转换的原理也有了较为深刻的了解。

为了这个实验,我查阅及分析相关的参考资料。确定功能和功能结构,数据结构,以及用户界面;对各功能模块进行准确的定义,对全局数据变量进行说明和定义;确定各功能模块的算法并画出相应的数据流图。最后编程并上机调试,最终程序成功运行。

2.设计说明(简要的分析与概要设计);

确定程序功能和功能结构,数据结构,以及用户界面;对各功能模块进行准确的定义,对全局数据变量进行说明和定义;确定各功能模块的原理及算法并画出相应的数据和程序流图。

实验的主要思路我会慢慢描述的。首先输出一个选择窗口,有6种选择。按照自己的要求选择,选择之后,就会调用相应的输入函数,必须输入相应进制的数进行处理,2进制数必须输入16位,16进制数输入4位,10进制数要求输入的必须小于2的16次方。输入之后,程序就会处理输入数据,然后调用相应的输出函数,就会输出相应的数据。输入函数,输出函数都是子函数。他们都有自己的功能,不管有多少中进制,处理的过程都是一样的,这种方法能够重复使用相同功能的函数,不会出现代码的重复定义和使用。

3.详细的算法描述;

MENU DB 'Please Input your Choice:',0dh,0ah

db '1: Bin -->Dec',0dh,0ah

db '2: Bin -->Hex',0dh,0ah

db '3: Dec -->Bin',0dh,0ah

db '4: Dec -->Hex',0dh,0ah

db '5: Hex -->Dec',0dh,0ah

db '6: Hex -->Bin',0dh,0ah

db '0: Exit. $',0dh,0ah

以上是选择界面的输出信息,按照上面对应的进制转换进行选择。

mess1 db 'Please input a Bin number:$'

mess2 db 'Please input a Dec number:$'

mess3 db 'Please input a Hex number:$'

mess4 db 'Output Bin is: $'

mess5 db 'Output Dec is: $'

mess6 db 'Output Hex is: $'

这部分是为了帮我们的输入输出理解的句子,他们在适当的时候帮助我们理解。

LKS:LEA DX,MENU

MOV AH,09H

INT 21H

MOV AH,01H

INT 21H

CMP AL,39H

JBE LK1

SUB AL,7

LK1:AND AL,0FH

LEA SI,TABLE

MOV AH,0

相关文档
最新文档