汇编语言简单计算器程序毕业课程设计报告[1]
![汇编语言简单计算器程序毕业课程设计报告[1]](https://img.360docs.net/img1e/13karj67g6zq6685svndbffxg0jsqtuy-e1.webp)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计说明书题目: 简单计算器
院系:
专业班级:
学号:
学生姓名:
指导教师:
2010年12月31日
安徽理工大学课程设计(论文)任务书
计算机科学与工程学院硬件教研室
2010年 12月 17 日
安徽理工大学课程设计(论文)成绩评定表
摘要
汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。本次设计的简单计算器支持简单的四则运算。
关键词:汇编语言,简单计算器,高效,硬件
Abstract
Assembly language is a powerful programming language features, but also all the hardware features of computer and can directly control the hardware of the language. Assembly language, as a language, corresponding to high-level language compiler, you need a "assembler" to the assembly language source file compiled into machine executable code. Advanced assembler such as MASM, TASM assembler, and so for us to write high-level language offers many similar features, such as structured, abstract and so on. In such an environment prepared by the assembler, a large part of the directive for the assembler has been similar in the high-level language. Now the compilation environment has such a high, even if all windows in assembly language to write applications that are feasible, but this is not assembly language strengths. The strength lies in assembly language to write efficient hardware and requires precise control of the machine process. This simple calculator designed to support simple arithmetic.
Keywords:assembly language, simple calculator, efficient, hardware
目录
1设计目的 (1)
2概要设计 (2)
2.1 系统总体分析 (2)
2.2 主模块框图及说明 (2)
3 详细设计 (4)
3.1 主模块及子模块说明 (4)
3.2 各模块详细设计 (4)
4.程序调试 (12)
4.1 运行界面分析 (12)
4.2 算法的分析 (12)
4.3 调试过程及分析 (12)
5心得体会 (13)
5.1 设计体会 (13)
5.2 系统改进 (13)
参考文献 (14)
1设计目的
通过本次的课程设计,使自己加深对汇编语言的了解,应用《汇编语言程序设计》等所学相关知识及查阅资料,完成简易计算器的设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能里的目的。
通过本次课程设计的训练,可以使我在基本思路和基本方法上对基于8086/8088和基于ARM核的汇编语言程序设计有一个比较感性的认识,并具备一定程度的设计能力,从而能够熟练掌握编写汇编语言源程序的基本方法和基本构架,学会编写顺序结构、分支结构、循环结构和子程序的汇编程序,掌握程序中数据的产生与输入输出的方法以及一些关于汇编语言更深层次方面有初步的认识。
2.1 系统总体分析
本次设计的简单计算器,主要是为了解决数学中的加、减、乘、除四则运算的问题。由于在设计过程中考虑到了可能会多次计算数据,为此本次课程设计我设计的这个简单计算器可以一次运行,多次使用。本程序使用了函数和宏混用的方式实现了代码的较好的可读性,使程序看起来结构严谨。
2.2 主模块框图及说明
本程序的功能结构图如图2-1:
图 2-1功能结构图
程序流程图如图2-2:
图2-2流程图
3.1 主模块及子模块说明
主模块:主要完成程序的主体框架结构,提供人-程序的交互。
子模块:主要完成对数据的加工,处理。
3.2 各模块详细设计
主模块:
首先提供一个主界面,提示用户按要求输入具体的数据和所要进行的操作,输入完毕后给出结果。如果输入过程中发现非法输入,则立即给与提示,程序自动刷新界面,提示继续输入。整个过程按“ESC”结束。流程图如下图3-1:
N
Y
图3-1 主模块流程图
代码如下:
CURS MACRO A,B
MOV AH,2 ;置光标位置
MOV BH,0 ;页号为0
MOV DH,A ;设置光标的坐标为(A.B)
MOV DL,B
INT 10H ;BIOS调用
ENDM
;
DISPMSG MACRO MESSAGE
LEA DX,MESSAGE ;传递MESSAGE的偏移地址
MOV AH,9 ;显示字符串
INT 21H ;DOS调用
ENDM
;
CLEAR MACRO COLOR ;清屏
MOV AH,6 ;屏幕初始化
MOV AL,0 ;页号