ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:184.51KB ,
资源ID:15376552      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15376552.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机原理简易计算器课程设计Word文档格式.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机原理简易计算器课程设计Word文档格式.docx

1、4、上机调试程序。三具体要求1、利用BIOS和DOS的中断来设计一个计算器,要求在屏幕上显示一个主菜单,提示用户输入相应的数字键,分别执行加、减、乘、除四种计算功能和结束程序的功能。2、利用BIOS中断的10号功能调用来设置显示方式。3、利用DOS中断的01号和02号子功能来完成键盘接收,结果显示。四进度安排周一周二周三周四周五讲课设内容,安排任务查资料,确定硬件电路方案编程调试写总结报告五成绩评定考核方法:现场验收(占50%),课程设计报告(占50%)。考核内容:学习态度(出勤情况,平时表现等)、方案合理性、程序编制质量、演示效果、设计报告质量。成绩评定:优,良,中,及格,不及格。特别说明:

2、如发现抄袭,按照不及格处理。前言课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。计算器在我们日常生活中应用是相当普遍的,可以说它已经成为现代社会生活不可或缺的一部分。本次课程设计就是根据微机原理与接口的相关知识,利用BIOS和DOS的中断来设计一个简易计算器,能够实现加减乘除四则运算,并在屏幕上显示一个主菜单,提示用户输入相应的数字键,分别执行加、减、乘、除四种计算功能和结束程序的功

3、能。同时利用BIOS中断的10号功能调用来设置显示方式,利用DOS中断的01号和02号子功能来完成键盘接收,结果显示。通过本次课程设计,要求学生熟悉和掌握微机系统的软件的方法、设计步骤,使学生得到微机开发应用方面的初步训练,熟练应用8086汇编语言编写应用程序和实际设计中的软件调试方法和步骤,熟悉微机系统的软件开发工具的使用方法。通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。1、设计题目简易计算器2、设计内容2.1 基本内容1、编写一个程序,能从键盘

4、上读入数据,并完成加、减、乘、除的计算。2、利用BIOS和DOS的中断来设计一个计算器,要求在屏幕上显示一个主菜单,提示用户输入相应的数字键,分别执行加、减、乘、除四种计算功能和结束程序的功能。3、利用BIOS中断的10号功能调用来设置显示方式。4、利用DOS中断的01号和02号子功能来完成键盘接收,结果显示。2.2 主要功能一、显示主菜单功能主菜单如下:Please input a number to choose the arithmetic operation1add 2subtract 3multiply 4divide qreturn to DOS二、计算功能1、别按数字键“1”、“

5、2”、“3”,则执行相应子模块1、2、3,进行两个字节与两个字节的加法、减法和乘法运算,并在屏幕上显示运算结果。2、按数字键“4”,执行子模块4,进行两个字节除一个字节的除法运算,并显示结果。3、按字母键“q”,执行子模块5,程序退出,返回DOS。4、若按其它键则显示提示字符串:“Please Press Number 1、2、3、4、q:”,然后继续显示主菜单。3、设计原理及方案3.1 总体方案利用BIOS中断的10号功能调用来设置显示方式。利用DOS中断的01号、02号子功能来完成键盘接受、结果显示。设置屏幕显示方式。 MOV AH,00H MOV AL,NUM (NUM为显示方式属性字)

6、 INT 10H接着从键盘上接受键值,并判别后转到相应的子模块进行运算,并显示结果。 MOV AH,01H INT 21H ;AL=键入字符的ASCII码从键盘上接收一串字符串命令: MOV AH,0AH MOV DX,OFFSET BUF ;BUF为数据段中定义的数据缓冲区 INT 21H显示单个字符命令: MOV AH,02H显示一串字符串的命令: MOV AH,09HBUF为被显示字符串的首地址十进制数显示过程:将十进制数送到BX中,BX除以1000,余数送BX中,商在AL中,范围为09,显示AL中的内容。BX除以100,余数送BX中,商在AL中,显示AL中的内容,依次类推,直到分出个位

7、数字。如最高位为0,则不应显示,而非最高位的0则显示。可利用设标志位并结合商的方法来决定是否显示0。3.2 程序流程图3.2.1 主程序图3.1 主程序流程图3.2.2 计算子程序图3.2 计算子程序流程图3.3 系统模块详细设计本次设计需要实现的模块图图如1所示图3.3 模块图(1)界面设置 主要实现确定界面样式的功能,以菜单形式显示。(2)算法选择设置 用于选择加、减、乘、除来进行运算。(3)数制转换设置 应用十进制二进制的转换算法来处理加、减、乘、除四则运算。3.3.1 界面设置1、设置屏幕显示方式: MOV AH,00H MOV AL,2通过调用BOIS的O2H号功能来设置屏幕显示方式

8、。此处AL=2,即设置屏幕显示方式为80*25黑白文本。2、显示主菜单:DOS不仅为用户提供了许多指令,而且还有用户可以直接调用的上百个常用子程序。这些子程序的功能主要是进行磁盘读/写、基本输入/输出管理等。在使用时,用户只需要了解各个子程序的编号即可,这些编号成为DOS功能调用号。其调用过程为: (1)DOS功能条用号送AH寄存器。(2)如果需要,按要求给定输入参数(由得不需要输入参数)。(3)写入中断指令“INT 21H”。调用结束,按功能使用其输出参数。本程序主菜单显示代码如下:MOV AH,09H MOV DX,OFFSET TOP INT 21H先在数据段中定义主菜单中要显示的字符串

9、,再通过调用DOS系统的09H号功能显示字符串(串尾字符为,但不显示)来完成。3.3.2 算法选择设置汇编语言中加减乘除运算指令分别为ADD、SUB、MUL、DIV。首先选择要进行的四则运算,规定:若选择1,则进行加法;选择2,则进行减法;选择3,则进行乘法;选择4,则进行除法。具体计算过程分析如下:1、从键盘接收一个数字:MOV AH,01H 通过调用DOS系统的01H号功能键入字符并回车来实现,其出口参数为键入字符的ASCII码,存在AL中。2、接收键入用于计算的数:MOV AH,0AH MOV DX,OFFSET BUF1通过调用DOS系统的0AH号功能键入字符串至内存缓冲区来实现,其入

10、口参数如下:DS:DX=存放键入字符串的缓冲区的首地址;(DS:DX)=用户规定的缓冲区;DX+1)=实际键入的字符数;从(DS:DX+2)开始放键入的字符串。因此,在下面的程序中运用所键入的数字时要注意字符串的首地址。3、显示结果:MOV DX,OFFSET BUF3将结果存入数据段中定义的缓冲区BUF3中,再通过调用DOS系统的09H号功能显示字符串(串尾字符为,但不显示)来完成。3.3.3 数制转换设置 1、子程序A2将数的ASCII码转为二进制数:A2 PROC NEAR MOV CL,BUF1+1 ; 把BUF1+1中的实际键入的字符数放入CL MOV CH,0 ; CH清零 MOV

11、 BX,OFFSET BUF1+2 ; 把第一个数字的地址放在BX PUSH BX ; 保存BX中的值 PUSH CX ; 保存CX中的值L1: MOV AL,BX AND AL,0FH ; 把ASCII码转换为十进制 MOV BX,AL ; 存放十进制 INC BX ; 下一个数字的地址 LOOP L1 POP CX ; 恢复CX POP BX ; 恢复BX MOV AX,0 ; 将累加和赋零 MOV SI,10L2: MUL SI ADD AL,BX ADC AH,0 INC BX LOOP L2 ; 累加乘10L3: RET A2 ENDP入口:十进制数的ASCII在BUF1内;出口:转

12、换后的二进制数在AX内。算法:先将其转换为十进制,再用累加和乘10加X的方法变为二进制,如将163转换为二进制数,可先将累加和赋0,再计算(0*10+1)*10+6)*10+3)结果为二进制数。2、将计算结果的二进制数转换为对应的十进制数ASCII码并输出显示(A3程序段):该模块的程序设计详见程序清单及说明中A3、BB程序段 入口:二进制数在AX内;转换后的ASCII码在BUF内。AX内的数范围在+32767到-32768之间,先检查AX符号位,决定输出+ -,若为负,先求补码得到原码后可与正数统一处理。方法:把将被转换的二进制数先除以10000,商为万位数,再将余数除以1000,商为千位数

13、,以此类推,求出百十位数,剩下的为个位数。最后各个数加上30H,即为对应字符。4.汇编源程序代码DATA SEGMENT N=15TOP DB 5 DUP(0AH) DB N DUP( ), Please input a number to choose the arithmetic operation, 0DH,0AH1add 2subtract 3multiply4divide qreturn to DOSChoice (1.2.3.4.q):$MESG1 DB 0DH,0AH,Please press number: 1.2.3.4.q !MESG2 DB 0DH,0AH,Please input the first number :MESG3 DB 0DH,0AH,Please input the second number :MESG4 DB 0DH,0AH,Play Add :MESG5 DB 0DH,0AH,Play Subtract :MESG6 DB 0DH,0AH,Play

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1