总汇编语言课程设计——计算器

上传人:pu****.1 文档编号:431521681 上传时间:2023-08-17 格式:DOC 页数:25 大小:337.50KB
返回 下载 相关 举报
总汇编语言课程设计——计算器_第1页
第1页 / 共25页
总汇编语言课程设计——计算器_第2页
第2页 / 共25页
总汇编语言课程设计——计算器_第3页
第3页 / 共25页
总汇编语言课程设计——计算器_第4页
第4页 / 共25页
总汇编语言课程设计——计算器_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《总汇编语言课程设计——计算器》由会员分享,可在线阅读,更多相关《总汇编语言课程设计——计算器(25页珍藏版)》请在金锄头文库上搜索。

1、word*实践教学* 理工大学技术工程学院2015年春季学期 汇编语言实训 课程设计题 目:_ 计算器 专业班级:_2013级软件工程1班_姓 名:_郭益婷_ _学 号: 13740104 指导教师: 树群 成 绩:_ _2015计算器任务书题目: 计算器 学生学号:杜政毅13740102,惠攀龙13740108,郭益婷13740104 班级: 13软件工程1班 题目类型:软件工程R指导教师:树群1、设计目的用汇编语言编程设计一个简单的计算器,实现四如此运算数的交互式输入,并显示运算结果。通过设计,掌握键盘和鼠标控制、显示输出和根本算术运算指令的应用,进一步提高综合运用知识的能力。2、设计容包

2、括原始数据、技术参数、条件、设计要求等:使用按键式操作,对任意给定的正确四如此运算序列,能按照意图分部计算出其计算的有效结果数值并输出。3、设计要求题目的选择是根据汇编语言的特点主要针对系统部的一些中断调用、系统功能调用、系统数据处理、文件数据处理、以与相关的API而设计的,是对所学课程知识较为系统的应用。由于汇编语言编程相对其他语言编程比拟复杂,因此,在设计上应把重点放在程序的功能实现上,不要太在意程序的结构和显示界面的设计。不要局限于题目所规定的要求,可以灵活裁减,设计出功能更完善程序。另外,也可以自己设计题目,同时,提出详细的功能描述,经指导教师审查同意后也可作为课程设计的题目。4、提交

3、的成果1. 设计说明书一份,容包括:包含任务书一份1) 中文摘要100字,关键词3-5个。2) 实训题目、容、要求。3总体设计包含几大功能模块。4详细设计各功能模块的具体实现算法流程图5数据结构设计描述,各模块函数的功能介绍,参数说明等。6调试分析包含各模块的测试用例,与测试结果。7总结实训完成了哪些功能,还有哪些地方需要改良,与通过实训有何收获,调试程序的体会等8) 参考文献、致等。5、主要参考资料6、各阶段时间安排共1周日期容地点星期一教师讲解设计要求,准备参考资料实验室星期二分析系统,方案设计实验室星期三方案设计,编程实验室星期四调试程序,书写实训说明书实验室星期五完成实训说明书,辩论实

4、验室摘 要汇编语言是一种功能很强的程序设计语言,也是利用计算器所有特性并能直接控制硬件的语言。汇编语言,作为一门语言,对应于高级语言的编译器,需要一个汇编器来把汇编语言原文件会变成机器可执行的代码。高级汇编语言器如:MASM,TASM等等为我们后来写汇编程序提供了很多类似高级语言的特征,比如结构化,抽象等。在这样的环境中编写的汇编程序,有很大一局部是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处,回避啊预言的长处在于编写高效且需要对机器硬件准确控制的程序。本次设计简单计算器支持简单的四如此运

5、算。关键词:汇编语言,计算器,高效,硬件目 录汇编语言实训任务书2摘要4前言6系统分析7功能分析72 系统总体设计9系统总体分析9主模块框图与说明93 详细设计11主模块与子模块说明113.2 各模块详细设计114系统测试224.1 测试界面图22算法的分析265 软件使用说明书27计算器功能说明27操作键功能说明27设计总结28参考文献29致30前 言运用汇编语言,制作一个计算的程序,实现简单计算器的一般功能,使用Win32编程设计一个功能与界面风格类似于Windows计算器的计算器程序,只要现标准型计算器。主要实现的功能:包含根本的四如此运算、倒数运算、平方根运算。支持存储区的存储、去除、

6、调出、累加等功能。程序主界面应有操作提示、输入和输出。输入数值与所需符号后可以进展正确的运算,程序计算其结果值并输出。表达式中运算分量为有正负号整数,运算符为+、-、*、/,最后结果以十进制数表示。且程序主界面需为一个由仿windws界面。汇编语言直接同计算机的底层软件甚至硬件进展交互,它具有如下一些优点:能够直接访问与硬件相关的存储器或I/O端口;能够不受编译器的限制,对生成的二进制代码进展完全的控制;能够对关键代码进展更准确的控制;能够根据特定的应用对代码做最优的优化,提高运行速度;能够最大限度地发挥硬件的功能。1总体分析该课程的设计任务是做一个简易计算器,可以实现加减乘除四如此运算。我们

7、要解决的问题有:以什么方式输入数字、判断是进展什么运算、运算过程中的进位和借位问题、以与如何实现清屏等问题。 本次设计的简单计算器,主要是为了解决数学中的加,减,乘,除,开方的运算问题。由于在设计之中考虑到了可能会屡次计算数据,为此在本次课程设计中我们设计的计算器可一次运行,屡次使用。本程序使用了函数和宏混用的方式实现了代码的较好的可读性,使程序看起来结构严谨。图1-1计算器l 显示区:文本框,用于显示输入的操作数与结果。l 数字键入区:在显示区中显示数字、小数点、正负号等。l 运算区:包含双目运算符+ - * /、单目运算符sqrt()、1/x、等于号等。l 记忆区:去除记忆MC、显示记忆M

8、R、记忆当前MS、记忆加M+以与记忆区存储情况的标签。l 去除键区:退格Backspace、去除当前数据CE、初始化操作C。2 系统总体设计本次设计的计算器,主要是为了解决数学中的加、减、乘、除、开方运算的问题。由于在设计过程中考虑到了可能会屡次计算数据,为此本次课程设计我设计的这个简单计算器可以一次运行,屡次使用。根据题目,可以把程序的工作过程主要划分为界面设计、运算表达式输入、计算、结果输出四局部。因此在编写程序时可以按此把程序大致划分为四个模块。第一步,界面设计,使用汇编语言设计一个界面风格与功能类似于Windows计算器程序,实现标准型、可靠性、简单性、易学性、实用性的界面。第二步,运

9、算表达式的输入,对于输入,键盘、鼠标都可进展输入操作。第三步,计算,通过汇编语言使计算器实现四如此运算、倒数运算、平方根运算等计算。第四步,对于输出,必须能在显示区显示正确的结果。主程序与窗口主程序结构如图2-1,按照Windows程序标准框架,主程序用于获得并保存本程序的句柄,并调用窗口主程序WinMain创建窗口并进入消息循环。WinMain程序将获取的消息分发给消息处理程序Calculate进展处理。 图2-1主模块框图3 详细设计 主模块:主要完成程序的主体框架结构,提供人-程序的交互。 子模块:主要完成对数据的加工处理。3.2 各模块详细设计程序源文件包含两个局部:头文件:头文件中引

10、入程序所需要的库以与常量和函数申明源文件:汇编程序源代码(1)在头文件中统一定义程序所需的头文件与引入库代码如下。;- 头文件声明-;include;include;- 引入库声明-(2)WinMain主程序用于创建窗口并获取和分发消息代码如下。WinMain proc hInst:DWORD, hPrevInst:DWORD, CmdLine:DWORD, CmdShow:DWORD LOCAL wc:WNDCLASSEX ;窗口类 LOCAL msg:MSG ;消息 LOCAL hWnd:HWND ;对话框句柄Movwc.cbSize,sizeof WNDCLASSEX ;WNDCLASS

11、EX的大小 mov wc.style,CS_BYTEALIGNWINDOW or CS_BYTEALIGNWINDOW ;窗口风格or CS_HREDRAW or CS_VREDRAW mov wc.lpfnWndProc,OFFSET Calculate ;窗口消息处理函数地址 mov wc.cbClsExtra,0 ;在窗口类结构后的附加字节数,共享存 mov wc.cbWndExtra,DLGWINDOWEXTRA ;在窗口实例后的附加字节数(!注意点) mov eax,hInst mov wc.hInstance,eax ;窗口所属程序句柄 mov wc.hbrBackground,C

12、OLOR_BTNFACE+1 ;背景画刷句柄 mov wc.lpszMenuName,NULL ;菜单名称指针 mov wc.lpszClassName,OFFSET DialogName ;类名称指针 invoke LoadIcon,hInst,addr IconName ;加载Icon mov wc.hIcon,eax ;图标句柄 invoke LoadCursor,NULL,IDC_ARROW mov wc.hCursor,eax ;光标句柄 mov wc.hIconSm,0 ;窗口小图标句柄 invoke RegisterClassEx,addr wc ;注册窗口类 invoke CreateDialogParam,hInst,addr DialogName,0,addr Calculate,0 ;调用对话框窗口 mov hWnd,eax ;保存对话框句柄 invoke ShowWindow,hWnd,CmdShow;最后一个参数可设置为SW_SHOWNORMAL invoke UpdateWindow,hWnd ;更新窗口StartLoop: ;消息循环 invoke GetMessage,addr msg,0,0,0 ;获取消息

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号