2022年2022年汇编语言简单计算器程序实验报告 .pdf
《2022年2022年汇编语言简单计算器程序实验报告 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年汇编语言简单计算器程序实验报告 .pdf(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、课 程 设 计 说 明 书题目: 简单计算器院系:专业班级:学号:学生姓名:指导教师: 2010年 12 月 31 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 20 页 - - - - - - - - - 安徽理工大学课程设计(论文)任务书计算机科学与工程学院硬件 教研室学 号学生姓名专业(班级)设计题目题目一:判断闰年题目二 : 简单计算器题目三 : 代码转换程序题目四:字符图形程序题目五 : 学生成绩管理题目六 : 打字练习设计技术参数1 熟悉汇编指令、宏汇编语
2、言的编程方法2 BIOS 中断调用、系统功能中断调用方法3 磁盘文件、及文件内容操作设计要求题目的选择是根据汇编语言的特点主要针对系统内部的一些中断调用、系统功能调用、系统数据处理、文件数据处理而设计的,是对所学课程知识较为系统的应用。由于汇编语言编程相对其他语言编程比较复杂,因此,在设计上应把重点放在程序的功能实现上,不要太在意程序的结构和显示界面的设计。不要局限于题目所规定的要求,可以灵活裁减,设计出功能更完善的程序。另外,也可以自己设计题目,同时,提出详细的功能描述,经指导老师审查同意后也可作为课程设计的题目。工作量1. 完成所选题目的软件设计; 2.课程设计说明书1000字(不包括程序
3、源代码)左右。工作计划第 1 次熟悉软件环境。第2 次绘制程序流程图。第3 次用编写程序。第 4 次用调试运行程序。第5 次编写课程设计说明书参考资料1 李敬兆 .8086/8088 和基于 ARM 核汇编语言程序设计 . 合肥: 中国科技大学出版社 ,2008 2 洪 志全 , 罗 省 贤. 汇 编 语言 程序 设计 教程. 北 京: 电 子 工 业出 版社,2004指导教师签字教研室主任签字2010 年 12 月 17 日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共
4、 20 页 - - - - - - - - - 安徽理工大学课程设计(论文)成绩评定表指导教师评语:成绩:指导教师:年月日名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 20 页 - - - - - - - - - 摘 要本次课程设计的题目是用汇编语言实现一个简单的计算器,要求:编写一个程序,每运行一次可执行程序,可以实现加减乘除四则运算。计算器是最简单的计算工具,简单计算器具有加、减、乘、除四项运算功能。想要用汇编语言实现简单的计算器,就必须通过对数据存储,寄存器的使用
5、,加减乘除相关指令以及模块的调用等汇编语言知识进行运用,以实现一个基本功能完善,界面友好,操作简便易行的计算器。用汇编语言实现简单计算器还涉及到输入输出模块的设计,加减乘除运算的判断以及退出程序的判断的设计。通过对各种指令的合理使用,设计各个功能模块。当实现各个程序模块后,通过程序的调用最终实现一个简单的计算器。关键词: 计算器,汇编语言,四则运算,功能模块,调用名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 20 页 - - - - - - - - - I 目录1 设计
6、目的 .12 概要设计 .22.1 系统总体分析 .2 2.2 程序流程图及说明.3 3 详细设计 .53.1 主模块及子模块说明 .5 3.2 各模块详细设计 .7 4 程序调试 . 114.1 运行界面分析 . 11 4.2 调试过程及分析 . 11 5 心得体会 .135.1 设计体会 . 13 5.2 系统改进 . 13 参考文献 .15名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 20 页 - - - - - - - - - 1 1 设计目的汇编语言是计算机能
7、够提供给用户使用的最快而又最有效的语言。同时,汇编语言也是能够利用计算机所有硬件特性并能直接控制硬件的唯一语言。因而,对程序的空间和时间要求很高的场合,汇编语言的应用是必不可少的。至于很多需要直接控制硬件的应用场合,则更是非用汇编语言不可。 由于汇编语言如此地接近计算机硬件, 因此,它可以最大限度地发挥计算机硬件的性能。用汇编语言编写的程序速度通常要比高级语言快几倍、几十倍、甚至成百上千倍, 解释语言其程序速度更无法与汇编语言程序同日而语。本次课程设计的题目是用汇编语言实现一个简单的计算器,要求:编写一个程序,每运行一次可执行程序, 可以实现加减乘除四则运算。计算器是最简单的计算工具,简单计算
8、器具有加、减、乘、除四项运算功能。通过使用汇编语言设计实现简单计算器, 以此进一步了解和掌握对数据存储,寄存器的使用, 加减乘除相关指令以及模块的调用等汇编语言知识的有效运用。本次课程设计以实现一个基本功能完善, 界面友好, 操作简便易行的计算器为最终目的。通过对具有加减乘除基本功能的计算器的设计实现,学会使用汇编语言实现输入输出模块的设计,模块合理调用的设计, 加减乘除运算的判断以及退出程序的判断的设计。通过对各种指令的合理使用, 熟悉并加深对各种指令的用法。学会使用汇编语言设计各个功能模块。 当实现各个程序模块后, 学会通过程序的调用最终实现一个具有基本计算功能的简单计算器。名师资料总结
9、- - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 20 页 - - - - - - - - - 2 2 概要设计2.1 系统总体分析本次汇编语言课程设计的最终目的是要实现一个简单计算器,要求编写一个程序,每运行一次可执行程序, 可以实现数的加减乘除四则运算。比如,十进制数的加减乘除四则运算。 我们曾经学习过两个具体数字进行加减法运算,但是对于简单计算器用汇编语言实现难点在于这两个要做运算的数是未知的,是由自己调用中断输入到屏幕上并要用程序存储起来的数,然后才能对这两个数进行运算,而且做的
10、是加法运算、 减法运算乘法运算还是除法运算也未可知,为此我们还要判断用户所输入的运算是四则运算中的哪一个运算。此外,运算过程中的进位或是借位,选择用什么样的方式进行输出, 如何实现清屏等也是要解决的问题。第一步,我要解决的是输入时是用INT 21H的 10 号功能调用还是用INT 21H的 1 号功能调用来进行输入。若是用10 号功能调用则我们进行多字符输入,可以将输入的字符都存储到一个数据区里面,并调用 9 号功能调用输出存进去的字符,这种输入和输出的方案是可行的。我选择的是利用 1 号功能调用来输入, 即把单个字符一个个的输入并存储到一个数据区里。我们要做的是两个数的运算,先认定输入的格式
11、为1234+5678= 或者 1111*2222=,当然如果输入不是这样的格式计算出来的结果就不一定是我们想要的结果了。在存储的时候也是有选择的存储,当输入的并非格式里所要求的字符时则报错。第二步,设计程序进行判断所输入的算式是做加法运算、减法运算、 乘法运算还是除法运算,即判断输入的运算符是+号、 - 号、 *号、 / 号中的哪一个,因为输入的格式固定了, 所以只需要把存进数据区的第三个字符拿来与加减乘除四个运算符号进行比较, 和哪一个运算符号一样就调用相对应的运算模块进行计算。第三步,根据计算器程序所要实现的功能完成各个功能模块。设计程序主体部分,根据主体部分所需的功能模块对各个子模块一一
12、进行设计编写。子模块中包含有: do_add加法运算模块, do_sub 减法运算模块, do_mul 乘法运算模块,do_div 除法运算模块, input 输入模块等。最后还要对这个简易计算器进行功能完善。为了使程序符合我们使用者的操作习惯,设计当用户根据提示信息输入一个算式后,按下enter 键或是 =符号键时,程序依据输入的算式进行计算,并将结果显示在屏幕上。 如果用户输入错误,则返回,提示信息让用户重新输入算式, 当用户按下 Q或 q 键时退出程序。在各个子功能模块设计好的情况下,通过主题模块的合理调用, 最终实现一个具有简单运算功能的计算器。名师资料总结 - - -精品资料欢迎下载
13、 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 20 页 - - - - - - - - - 3 2.2 程序流程图及说明此程序流程图简要地表现出了所要实现的功能以及一些功能的大概算法,同时也是我编写的程序的一个总体的框架。程序流程图说明: 通过流程图, 可以看出程序开始运行时, 首先输出提示语句,当用户输入后, 程序根据所输入的内容进行判断,通过判断的结果来决定调用哪个功能模块,首先要判断输入的字符是否为Q或 q,若是,则退出程序,不是则继续输入。还要判断输入的是否为0-9 , + , - , * , / 这
14、些字符,若不是会报错, 是则将根据运算符号调用相应的功能模块完成运算。最后将运算的结果显示在屏幕上,并返回主题程序,使用户可以重新输入。程序流程图如图 2-1 所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 20 页 - - - - - - - - - 4 图 2-1 程序流程图程序开始输入一个算式Q / q?09 + - * / ? 存储数据判断运算符号调用运算功能模块输入出错N Y Y 输出提示语句退出Y N Y 按下 Enter 或 =键显示结果名师资料总结
15、- - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 20 页 - - - - - - - - - 5 3 详细设计3.1 主模块及子模块说明主题模块实现变量的定义, 提示输入信息的显示, 调用各个功能子模块, 判断输入的内容是否符合要求,如果符合要求, 则按照用户所输入的运算符即+- * / 来调用加减乘除等子模块完成运算。当用户键入enter 键或者=键时将结果显示在屏幕上。在此,对变量的定义类型进行说明,因为本次课程设计所要求设计的计算器要能够对四位数进行加减乘除运算,所以我使用DD伪
16、指令将 x、y、z 三个变量定义为双字变量。子模块说明:主要的子模块是input子模块,功能是输入; do_add子模块,功能是完成加法运算; do_sub 子模块,功能是完成减法运算;do_mul 子模块,功能是完成乘法运算; do_div子模块,功能是完成除法运算。其它模块将在模块详细设计部分中进行说明。程序主题部分源代码如下:data segment x dd 0 y dd 0 z dd 0 tmp dw 0 ten dw 10 op db 0 message db input a suanshi(input q exit):,13,10,$ ;提示用户输入算式。data ends as
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年汇编语言简单计算器程序实验报告 2022 汇编语言 简单 计算器 程序 实验 报告
限制150内