微机原理简易计算器课程设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
课程设计报告
课程设计名称:简易计算器
…
系别:三系
学生姓名:张梦瑶
班级: 11通信1班
学号: 111
成绩:
指导教师:袁静
开课时间: 2013-2014 学年 1 学期
-
一.设计题目
简易计算器
二.主要内容
1、采用模块化程序结构设计软件,可将整个软件分成若干功能模块。
·
2、画出程序流程图。
3、根据流程图,编写源程序。
4、上机调试程序。
三.具体要求
1、利用BIOS和DOS的中断来设计一个计算器,要求在屏幕上显示一个主菜单,提示用户输入相应的数字键,分别执行加、减、乘、除四种计算功能和结束程序的功能。
2、利用BIOS中断的10号功能调用来设置显示方式。
3、利用DOS中断的01号和02号子功能来完成键盘接收,结果显示。四.进度安排
五.成绩评定
考核方法:现场验收(占50%),课程设计报告(占50%)。
考核内容:学习态度(出勤情况,平时表现等)、方案合理性、程序编制质量、演示效果、设计报告质量。
成绩评定:优,良,中,及格,不及格。
特别说明:如发现抄袭,按照不及格处理。
、
目录
前言 (4)
1、设计题目 (5)
2、设计内容 (5)
基本内容 (5)
、
主要功能 (5)
3、设计原理及方案 (6)
总体方案 (6)
程序流程图 (7)
主程序 (7)
计算子程序 (8)
系统模块详细设计 (9)
界面设置 (9)
·
算法选择设置 (10)
数制转换设置 (11)
4.汇编源程序代码 (13)
5、调试运行结果 (20)
操作说明 (20)
调试运行结果 (20)
6、心得体会 (23)
7、参考文献 (24)
-
前言
课程设计是培养和锻炼学生在学习完本门课后综合应用所学理论知识,解决实际工程设计和应用问题的能力的重要教学环节。它具有动手、动脑和理论联系实际的特点,是培养在校工科大学生理论联系实际、敢于动手、善于动手和独立自主解决设计实践中遇到的各种问题能力的一个重要教学环节。
计算器在我们日常生活中应用是相当普遍的,可以说它已经成为现代社会生活不可或缺的一部分。本次课程设计就是根据微机原理与接口的相关知识,利用BIOS和DOS的中断来设计一个简易计算器,能够实现加减乘除四则运算,并在屏幕上显示一个主菜单,提示用户输入相应的数字键,分别执行加、减、乘、除四种计算功能和结束程序的功能。同时利用BIOS中断的10号功能调用来设置显示方式,利用DOS中断的01号和02号子功能来完成键盘接收,结果显示。
通过本次课程设计,要求学生熟悉和掌握微机系统的软件的方法、设计步骤,使学生得到微机开发应用方面的初步训练,熟练应用8086汇编语言编写应用程序和实际设计中的软件调试方法和步骤,熟悉微机系统的软件开发工具的使用方法。
通过课程设计实践,不仅要培养学生事实求是和严肃认真的工作态度,培养学生的实际动手能力,检验学生对本门课学习的情况,更要培养学生在实际的工程设计中查阅资料,撰写设计报告表达设计思想和结果的能力。
:
,
1、设计题目
简易计算器
'
2、设计内容
基本内容
1、编写一个程序,能从键盘上读入数据,并完成加、减、乘、除的计算。
2、利用BIOS和DOS的中断来设计一个计算器,要求在屏幕上显示一个主菜单,提示用户输入相应的数字键,分别执行加、减、乘、除四种计算功能和结束程序的功能。
3、利用BIOS中断的10号功能调用来设置显示方式。
4、利用DOS中断的01号和02号子功能来完成键盘接收,结果显示。
主要功能
一、显示主菜单功能
)
主菜单如下:
Please input a number to choose the arithmetic operation
1—add 2—subtract 3—multiply
4—divide q—return to DOS
二、计算功能
1、别按数字键“1”、“2”、“3”,则执行相应子模块1、
2、3,进行两个字节与两个字节的加法、减法和乘法运算,并在屏幕上显示运算结果。
2、按数字键“4”,执行子模块4,进行两个字节除一个字节的除法运算,并显示结果。
3、按字母键“q”,执行子模块5,程序退出,返回DOS。
、
4、若按其它键则显示提示字符串:“Please Press Number 1、2、3、4、q:”,然后继续显示主菜单。
3、设计原理及方案
总体方案
利用BIOS中断的10号功能调用来设置显示方式。
利用DOS中断的01号、02号子功能来完成键盘接受、结果显示。
设置屏幕显示方式。
:
MOV AH,00H
MOV AL,NUM (NUM为显示方式属性字)
INT 10H
接着从键盘上接受键值,并判别后转到相应的子模块进行运算,并显示结果。
MOV AH,01H
INT 21H ;AL=键入字符的ASCII码
从键盘上接收一串字符串命令:
MOV AH,0AH
;
MOV DX,OFFSET BUF ;BUF为数据段中定义的数据缓冲区