安徽工程大学
《汇编语言程序设计》
大
作
业
报
告
班 级: XXXXX
学 号:汇编语言清华大学出版社 XXXXXXXX
完 成 人: XXXXXXX
任课老师: XXXXXXX
时 间: XXXXXXXXXX
《汇编语言程序设计》大作业任务书
大作业题目: 四则运算程序
程序功能要求:编写一个程序,每运行一次可执行程序,可以实现加减乘除四则运算。计算器是最简单的计算工具,简单计算器具有加、减、乘、除四项运算功能。
1.设计目标
运用汇编语言,制作一个计算的程序,实现简单计算器的一般功能,能够在DOS界面下进行简单的加、减、乘、除的简单计算。程序应有操作提示、输入和输出。自动闪烁光标,并提示输入信息。输入正确的数值等符号后可以进行正确的运算,程序计算其结果值并输出。程序无需查错功能,所输入的都是正确的四则运算表达式,并且表达式中运算分量均为无正负号整数,运算符为 +、-、*、/,最后结果以十进制数表示。且程序主界面需为一个由‘*’组成边框的矩形窗口。
2.软件设计
2.1程序设计的基本思想
主模块:首先提供一个主界面,提示用户按要求输入具体的数据和所要进行的操作,输入完毕后给出结果。如果输入过程中发现非法输入,则立即给与提示,程序自动刷新界面,提示继续输入。计算显示完毕后,按提示选择是否要继续计算,不选择继续则结束。对屏幕上输入字符串的接受,为INPUT语句段,见源代码,主要是将数字和运算符分开存放。MATCH子程序,子程序内有三次跳转,将运算符选择正确的语句进行计算。由于操作符只有+、-、*、/,没有涉及到括号,不用考虑括号的匹配问题。流程图如下:
图1 主模块流程图
子模块:完成对数据的进一步加工处理,转换格式并得出结果。首先根据输入调用对应的“+”、“-”、“*”、“/”四个函数模块,这是本程序的核心模块,其他部分的一些小模块都是为这几个模块服务的,大致的流程图如下图2:
图2 子模块流程图
3.系统调试
3.1测试目标
(1)在屏幕上显示一个由‘*’组成边框的矩形窗口;
(2)自动闪烁光标,并提示输入信息;
(3)能够完成单项表达式的输入、显示和运算;
(4)编制并调试出程序。
3.2测试方法及结果
双击DOSBox 0.74-3,就可以开始使用了。
如图:
源程序名存为jsq.asm,在dos下进入D盘,键入masm jsq(jsq是源程序文件名)提示是否更改文件名(不改直接回车),系统会提示是否生成.lst文件和.crf文件(直接回车跳过),这样就生成了jsq.obj 键入link jsq(jsq是源程序文件名),提示是否更改文件名(不改直接回车)提示是否生成.map和.lib文件(直接回车),这样就生成了jsq.exe,再在DOS下键入jsq(源程序文件名)就进入程序执行。如图:
图4 执行方法
在计算器内,输入数字测试本程序的正确与否。
按照提示输入第一个十进制数,如“6”,回车。下一步,会提示请输入运算符,如加“+”,回车。最后一步,输入第二个十进制数,如“3”,回车。则显示出其运算结果。如下图所示:
图5 实现加法运算
同上,可实现减法、乘法、除法运算,分别如图:
实现减法运算
实现乘法运算
实现除法运算
运算完毕后,会提示是否继续下一个运算,输入“Y”则继续运算,并返回主界面,输入“N”则结束程序。
当运算符输入不合法时,则会提示重新输入运算符,如下图:
错误提示
4.总结
1.通过本次的大作业,我熟练的掌握了有关汇编语言的相关知识。
2.本次的课程设计对于计算器的设计要怎么用汇编语言编写四则运算。编写计算简单的不带括号的没有优先级的+、- 或 *、/、运算程序还是不太难的,因为没有优先级程序只要根据表达式运算符的顺序从左到右进行运算,最后输出结果。而该课程设计要求设计能进行简单的的 +、- 或 *、/、混合运算的四则运算程序,这样程序设计时相对于有括号的计算要用到设定权值的办法来设置符号的优先级比起来简单很多。这次的课程设计等于将本学期所学习的汇编知识对其进行一个综合的应用,而且对其汇编有了基本的了解。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论