课程设计设计名称:微型计算机技术及应用——简易计算器学院:信息工程学院课程:微型计算机技术及应用姓名:李智学号:201407010252班级:2014级计算机科学与技术二班目录摘要...........................................................................................................................................3一、前言............................................................................................................................41.1背景.................................................................................................................................41.2项目介绍.........................................................................................................................4二、课程设计的目的与任务............................................................................................52.1设计目的.........................................................................................................................52.2设计任务.........................................................................................................................5三、设计过程....................................................................................................................53.1基础理论.........................................................................................................................53.1.1DOSBox简介.............................................................................................................53.1.2中断..........................................................................................................................8四、设计..........................................................................................................................114.1总体方案.......................................................................................................................114.2原理框图.......................................................................................................................124.3程序代码.......................................................................................................................13五、系统模块详细设计与调试......................................................................................245.1系统模块详细设计.......................................................................................................245.1.1设置屏幕显示方式................................................................................................245.1.2显示主菜单............................................................................................................245.1.3从键盘接收一个数字............................................................................................245.1.4接收键入用于计算的数........................................................................................255.1.5显示结果................................................................................................................255.1.6子程序A2——将数的ASCII码转为二进制数.....................................................255.1.7将计算结果的二进制数转换为对应的十进制数ASCII码并输出显示(A3程序段).........................................................................................................................................275.2程序编译、运行与调试...............................................................................................27六、设计总结..................................................................................................................29七、参考文献..................................................................................................................31摘要本次课程设计是通过使用DOSBox汇编语言编程软件实现的利用汇编语言编写的较为复杂的程序设计。该课程设计主要是设计一个较为简单的计算器,界面显示要求用户从键盘上分别输入两个随机数,完成四则运算,然后将运算结果显示到屏幕上。该设计智能实现简单的正整数之间的四则运算,无法对小数进行精确地识别。而除法运算可以精确到3位小数,减法可以显示出负数的结果。采用DOS调用(INT21H)来完成键盘的输入和屏幕的输出。通过这次的课程设计能够进一步加深对专业知识和理论知识学习的认识和理解。关键词:DOSBox;微机原理;计算器;汇编语言一、前言1.1背景计算器是现代人发明的可以进行数字运算的电子机器。现代的电子计算器能进行数学运算的手持电子机器,拥有集成电路芯片,但结构比电脑简单得多,可以说是第一代的电子计算机(电脑),且功能也较弱。随着微机和手机的普及,计算器逐渐退出了人们的视野,只能被局限于在课堂之上的计算工具。虽然计算器的使用范围逐渐缩小,但计算器依旧在不断发展。即使科技的发展带动着小型计算器成为一个移动的计算实验室。但它的核心却依然没有逃脱最简单的四则运算:加、减、乘和除。1.2项目介绍本次课程设计就是根据微机原理与接口的相关知识,利用BIOS和DOS的中断来设计一个简易计算器,能够实现加减乘除四则运算,并在屏幕上显示一个主菜单,提示用户输入相应的数字键,分别执行加、减、乘、除四种计算功能和结束程序的功能。同时利用BIOS中断的10号功能调用来设置显示方式,利用DOS中断的01号和02号子功能来完成键盘接收,结果显示。二、课程设计的目的与任务2.1设计目的为了使学生加深对所学的微机原理知识的理解,培养学生的专业素质,提高其利用微机原理知识处理问题的能力,为今后专业课程的学习、毕业设计和工作打下良好的基础。使学生能比较扎实地掌握微机原理的基础知识和基本理论,掌握控制系统及有关设备的分析、开发等基本技能,受到必要工程训练、初步的科学研究方法训练和实践锻练,增强分析问题和解决问题的能力,了解微机原理和接口技术的新发展。2.2设计任务本课程设计是制作出一个简易的计算器,并可以在DOCBOX上运行,并且正确地完成加、减、乘、除等四则运算。三、设计过程3.1基础理论3.1.1DOSBox简介由于微软公司对windos7的64位操作系统取缔了为汇编程序开放的Edit、Masm、Link以及Debug等的功能。所以我选择了一款比较简单但同样适用的Dos环境仿真器——DOSBox。DOSBox是一种创造类DOS环境的开源x86仿真器,通常用于运行近代计算机或者非IBMPC兼容机的MS-DOSIBMPC兼容程序。不仅如此,它还是一个完整的中央处理器仿真器,并不是一个兼容层如dosemu或者依赖386类处理器虚拟化能力的Windows与OS/2VDM。不需要x86中央处理器或者任何DOS版本以运行,并且能运行真实模式与保护模式的程序。虽然DOSBox是Dos的仿真器,但它只是具有搭载环境的能力,却并没有自带汇编程序的运行环境,。我们需要下载相对应的运行环境masm或tasm。当在下载完成后,我们需要对DOSBox进行相对应的设置。当配置好环境后,现在我们就可以使用它进行Edit,Masm,Link,Debug了EDIT:Masm和Link:完成masm和link两步以后,我们就得到了可以运行的程序exe文件了:Debug:通过这几个步骤,我们就可以得到我们需要的可以正确执行地exe文件了。3.1.2中断3.1.2.1何谓中断所谓中断,是指CPU在执行当前程序时,由于外部事件和内部事件,使得CPU中断正在执行的程序,转到为外部与内部事件服务的程序中去执行。当服务程序执行完毕,再返回带刚才被中断的程序的断点处,继续执行。8086有一个强有力的中断系统,可以处理25