1、 汇编语言汇编语言课程设计报告课程设计报告 ( 2013 - 2014 年度第年度第 1 学期学期) 实现加减乘除四则运算的计算器实现加减乘除四则运算的计算器 专业专业 计算机科学与技术计算机科学与技术 学生姓名学生姓名 班级班级 学号学号 指导教师指导教师 完成日期完成日期 20140101 目录目录 1 1 概概 述述. 1 1.1 1.1 设计目的设计目的 1 1.2 1.2 设计内容设计内容 1 2 2实现方法实现方法 1 2.1 2.1 实现的目标实现的目标 1 2.2 2.2 主体的功能主体的功能 1 2.3 2.3 开发的环境开发的环境 1 3 3 设计方法概要设计方法概要 .
2、2 3.13.1 功能模块划分功能模块划分 . 2 3.23.2 流程图流程图 . 3 4 详细设计详细设计 . 3 5 程序调试程序调试. 4 5.1 5.1 调试方案调试方案 4 5.2 5.2 调试结果调试结果 4 6 结论结论 . 5 参考文献参考文献 6 附附 录录 7 附录附录 源程序清单源程序清单. 7 1 实现加减乘除四则运算的计算器实现加减乘除四则运算的计算器 1 概 述 1.1 设计目的 本课程设计是在学完教学大纲规定的全部内容、完成所有实践环节的基础上, 旨在深化学生学习的汇编语言课程基本知识,进一步掌握汇编语言程序设计方法, 提高分析问题、解决问题的综合应用能力。 1.
3、2 设计内容 能实现加、减、乘、除的计算;该程序接受的是 16 进制数;执行时,需要在 文件名后直接跟上计算表达式,如在命令提示符下执行结果如下: c:tasmjs 3+2 5 2实现方法 2.1 实现的目标 本次汇编语言课程设计的最终目的是要实现一个简单加减乘除四则运算的计 算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运 算。比如,十进制数的加减乘除四则运算。我们曾经学习过两个具体数字进行加减 法运算,但是对于简单计算器用汇编语言实现难点在于这两个要做运算的数是未知 的,是由自己调用中断输入到屏幕上并要用程序存储起来的数,然后才能对这两个 数进行运算,而且做的是加法
4、运算、减法运算乘法运算还是除法运算也未可知,为 此我们还要判断用户所输入的运算是四则运算中的哪一个运算。此外,运算过程中 的进位或是借位,选择用什么样的方式进行输出,如何实现清屏等也是要解决的问 题。 2.2 主体的功能 系统分析主要包括设计的功能分析和系统的流程,功能分析放在首位,每一个 软件都要能满足一定的功能才有使用价值。根据功能需求来创建应用程序。 本设计的功能如下: 1、输入 2 个数,先判断是加减运算还是乘除运算,再进行计算 2、判断符号是否为运算符 3、回车为换行符 4、用十进制或十六进制输出运算结果 2.3 开发的环境 TASM5.0 集成环境 2 3 设计方法概要 3.1 功
5、能模块划分 本题目实现的模块图如图 3-1 所示 图 3-1 概要模块 (1) 界面设置 主要实现确定界面样式的功能,以菜单形式显示。 (2) 选择算法设置 用于选择加、减、乘、除法来进行运算。 (3) 十进制转换设置 应用十进制的转换算法来处理加、减、乘、除法四则运算。 四则运算计算器程序设计 界 面 设 置 选 择 算 法 设 置 十 进 制 转 换 设 置 3 3.2 流程图 图 3.2.1 四则运算计算器执行过程流程图 4 详细设计详细设计 4.1 界面设置 通过定义数据段,利用 09H 显示出功能列表。通过定义数据段,以字符串的形 式输入每个提示信息,利用 09H 键盘输入并回显命令
6、显示每一个功能提示,是计算 器的功能列表有序清晰的显示在屏幕上。 4.2 选择算法设置 首先选择要进行的四则运算,若选择 1,则进行加法;若选择 2,则进行减法; 若选择 3,则进行乘法;若选择 4,则进行除法。加法:先输入第一个小于 4 位十 六进制数存入 SI 中, 在输入第二个小于 4 位十六进制数存入 BX 中, 然后显示 BX 和 输入选择键 x X=1? X=2? X=3? X=4? 十六进制加法 十六进制减法 十六进制乘法 十六进制除法 提示出错! X=0? 是 是 是 否 是 否 否 否 否 X=Y/y ? ? 否 是 是 开 始 结 束 4 SI中的内容相加存在 BX 中。 减法: 先输入第一个小于 4 位十六进制数存入 SI 中, 在输入第二个小于 4 位十六进制数存入 BX 中, 然后显示 BX 和SI中的内容相减存 在 BX 中,然后用 NEG 来求反,即为第一个数减去第二个数的差,显示 BX 的内容即 为差。乘法:先输入第一个小于 4 位十六进制数存入 SI 中,在输入第二个小于 4 位十六进制数存入 BX 中,