十进制转二进制、八进制和十六进制word版

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

学号0121111350420

课程设计

题目数制转换程序设计

学院自动化学院

专业电气工程及其自动化

班级电气1104班

姓名郭鹏

指导教师徐腊梅

2014 年 1 月10 日

课程设计任务书

学生姓名:郭鹏专业班级:电气1104班

指导教师:徐腊梅工作单位:武汉理工大学题目: 数制转换程序设计

初始条件:通过键盘输入一个十进制数,通过屏幕提示菜单选择转换成二进制,八进制或者十六进制数并显示。

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

(1)建立一个友好的交互界面,并能给出使用说明及注意事项

(2)对于输入的十进制数有范围要求,即0到65535

(3)对于用户的不正确输入,能够马上发出警告提示,并给出选择

时间安排:

12月27日~12月31日:明确课题,收集资料,方案确定

1月1日~1月4日:整体设计,调试程序

1月5日~1月9日;报告撰写,交设计报告,答辩

指导教师签名: 2014年 1月 10 日

目录

摘要 (3)

制转换程序设计 (1)

1设计目的及意义 (1)

1.1 设计目的 (1)

1.2 设计意义 (1)

2设计前的基本知识 (1)

2.1 常用中断介绍 (1)

2.1.1 DOS中断 (1)

2.1.2 BIOS中断 (2)

3 模块的确定与流程图的绘制 (3)

3.1主程序模块 (3)

3.2子模块功能设计 (4)

3.2.1 显示模块设计 (4)

3.2.2 清屏模块设计 (9)

3.2.3 十进制转二进制模块设计 (9)

4 调试过程及其结果分析 (10)

4.1 运行界面分析 (10)

4.2 调试过程分析 (14)

结束语 (15)

参考文献 (16)

附录 (17)

摘要

本文利用已学的汇编语言知识,通过实际上机编写汇编语言程序,依次生成*.asm文件、目标文件*.obj以及最终的可执行文件*.exe。执行*.exe后可完成指定的要求,即将任意输入的0至65535范围内的十进制数按照选项的不同可分别转换为二进制、八进制和十六进制数,并能对不正确输入显示相关的提示,大大提高了程序界面的友好程度。

在具体的编程过程之前,首先通过绘制流程图来将任务划分为主程序模块和子程序模块,然后对各个模块分别编写程序来实现相应的功能。除了运用到基本的指令集,例如数据传送指令、移位指令、位操作指令和控制转移指令等等,还用了DOS中断来实现内容显示(包括字符串)及读取键入内容的功能和BIOS 中断来实现清屏及光标定点功能。而在完成具体数制转换的过程中又编写了几个独立的子程序,例如dec_bin子程序实现将从键盘输入的的规定范围内的十进制数转换为十六位二进制数,并将其存入bx中以便作为参数供后续子程序调用,而outbin、outox、outhex三个子程序分别实现将转换的二进制、八进制和十六进制数显示在屏幕上。

总而言之,通过实际上机编写特定功能的程序,进一步了解了汇编语言作为一种自然语言的优越性。

关键词:数制转换DOS及BIOS中断子程序调用流程图

数制转换程序设计

1设计目的及意义

1.1 设计目的

通过从键盘键入一个0至65535范围内的十进制数,按要求可分别进行十进制转二进制、十进制转八进制、十进制转十六进制及退出程序操作。倘若用户进行了不正常操作,例如从键盘输入的数不是十进制或者超过了65535,则屏幕会显示出错警告(包括溢出),并提示用户键入正确十进制数。

1.2 设计意义

通过实际上机编程,来对课堂所学习的知识进一步了解,并能掌握理论学习过程中忽视的细节。在使用CV调试程序的过程中,真正做到对每一步指令执行后各个寄存器变化了如指掌,虽然编写过程中出现了很多隐藏的很深的错误,但通过不断调试,最终完成了全部功能的实现。

2设计前的基本知识

2.1 常用中断介绍

2.1.1 DOS中断

本程序用的最多的就是DOS功能,DOS功能调用的一般过程为:

(1)如果需要,按要求给定输入参数(有的不需要出入参数)。

(2)DOS功能号送AH寄存器。

(3)写入中断指令INT 21H

常用功能:

(1)键盘输入并回显(1号功能调用)

格式:MOV AH,01H

INT 21H

功能:按下任何键,将其对应自负的ASCII码送入AL中并在屏幕上显示该字符。如果按下的是Ctrl+Break组合键,则终止程序执行。1号功能调用无须入口参数,出口参数在AL中。

(2)键盘输入但不显示输入字符(8号功能调用)

格式:MOV AH, 08H

INT 21H

功能:同1号功能调用,但字符不在屏幕上显示。

(3)屏幕显示一个字符(2号功能调用)

格式:MOV DL, '字符'

MOV AH, 02H

INT 21H

功能:将置入DL寄存器中的字符在屏幕上显示输出。

(4)打印输出(5号功能调用)

格式:MOV DL, '字符'

MOV AH, 05H

INT 21H

功能:将置入DL寄存器中的字符送打印机接口,打印输出。

(5)屏幕显示字符串(9号功能调用)

格式:MOV DX, 字符串的偏移地址

MOV AH, 09H

INT 21H

功能:在屏幕上显示字符串。

在使用9号功能调用时,应当注意以下问题:

①待显示的字符串必须先放在内存一数据区(DS段)中,且以‘$’符号作为结束标志。

②应当将字符串首地址的段基址和偏移地址分别存入DS和DX寄存器中。

2.1.2 BIOS中断

除了使用了DOS中断外,还使用了BIOS中断来实现部分功能:(1)置光标位置(2号功能调用)

格式:MOV BH,页号

MOV DH,行

MOV DL,列

INT 10H

(2)屏幕初始化或上卷(6号功能调用)

格式:MOV AL,上卷行数

MOV AL,全屏幕为空白

MOV BH,卷入行属性

MOV CH,左上角行号

MOV CL,左上角列号

MOV DH,右下角行号

MOV DL,右下角列号

INT 10H

相关文档
最新文档