汇编语言课程设计四则运算计算器(共17页).doc
《汇编语言课程设计四则运算计算器(共17页).doc》由会员分享,可在线阅读,更多相关《汇编语言课程设计四则运算计算器(共17页).doc(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上汇编语言课程设计报告( 2012 - 2013 年度第 1 学期)实验名称:实现加减乘除四则运算的计算器专业生物医学工程学生姓名周炳威班级B学号B指导教师乐洋专心-专注-专业实现加减乘除四则运算的计算器1 实验目的 深化学习的汇编语言课程基本知识,进一步掌握汇编语言程序设计方法,提高分析问题、解决问题的综合应用能力。通过使用汇编语言设计实现简单计算器,以此进一步了解和掌握对数据存储,寄存器的使用,加减乘除相关指令以及模块的调用等汇编语言知识的有效运用2 实验内容课题名称:实现加减乘除四则运算的计算器主要功能:实现一个简单的计算器,要求:编写一个程序,每运行一次可执行程
2、序,可以实现加减乘除四则运算。计算器是最简单的计算工具,简单计算器具有加、减、乘、除四项运算功能。3 实现方法本次汇编语言课程设计的最终目的是要实现一个简单计算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运算。由自己调用中断输入到屏幕上并要用程序存储起来的数,然后才能对这两个数进行运算,而且做的是加法运算、减法运算乘法运算还是除法运算也未可知,为此我们还要判断用户所输入的运算是四则运算中的哪一个运算。此外,运算过程中的进位或是借位,选择用什么样的方式进行输出,如何实现清屏等也是要解决的问题。第一步,用INT 21H的1号功能调用来进行输入。利用1号功能调用来输入,即把单
3、个字符一个个的输入并存储到一个数据区里。我们要做的是两个数的运算,先认定输入的格式为1234+5678=或者1111*2222=,当然如果输入不是这样的格式计算出来的结果就不一定是我们想要的结果了。在存储的时候也是有选择的存储,当输入的并非格式里所要求的字符时则报错。第二步,设计程序进行判断所输入的算式是做加法运算、减法运算、乘法运算还是除法运算,即判断输入的运算符是+号、-号、*号、/号中的哪一个,因为输入的格式固定了,所以只需要把存进数据区的第三个字符拿来与加减乘除四个运算符号进行比较,和哪一个运算符号一样就调用相对应的运算模块进行计算。第三步,根据计算器程序所要实现的功能完成各个功能模块
4、。设计程序主体部分,根据主体部分所需的功能模块对各个子模块一一进行设计编写。子模块中包含有:do_add加法运算模块,do_sub减法运算模块,do_mul乘法运算模块,do_div除法运算模块,input输入模块等。最后还要对这个简易计算器进行功能完善。为了使程序符合我们使用者的操作习惯,设计当用户根据提示信息输入一个算式后,按下enter键或是=符号键时,程序依据输入的算式进行计算,并将结果显示在屏幕上。如果用户输入错误,则返回,提示信息让用户重新输入算式,当用户按下Q或q键时退出程序。在各个子功能模块设计好的情况下,通过主题模块的合理调用,最终实现一个具有简单运算功能的计算器。3.2程序
5、流程图及说明此程序流程图简要地表现出了所要实现的功能以及一些功能的大概算法,同时也是我编写的程序的一个总体的框架。程序流程图说明:通过流程图,可以看出程序开始运行时,首先输出提示语句,当用户输入后,程序根据所输入的内容进行判断,通过判断的结果来决定调用哪个功能模块,首先要判断输入的字符是否为Q或q,若是,则退出程序,不是则继续输入。还要判断输入的是否为0-9,+,-,*,/这些字符,若不是会报错,是则将根据运算符号调用相应的功能模块完成运算。最后将运算的结果显示在屏幕上,并返回主题程序,使用户可以重新输入。程序开始输入一个算式Q/q?0f+-*/?存储数据判断运算符号调用运算功能模块输入出错N
6、YY 输出提示语句退出YNY按下Enter或=键显示结果 源程序清单B_PEQUBYTEPTRW_PEQUWORDPTRD_PEQUDWORDPTRCODESEGMENTASSUMECS:CODE,DS:CODEORG100H;主程序开始NEWSTAR:JMPSTAREVENNUM1DW0,0NUM2DW0,0NUM3DW0,0JGV4DW0,0YSFLABELWORDYSF1DB0YSF2DB0JUVDB0UVDB0;使DS:SI指向第一有效字符OVERSLABELNEARCLDPUSHAXOVERS1:LODSBCMPAL,JZOVERS1CMPAL,9JZOVERS1DECSICMPAL
7、,13POPAXRET;输出一个制表符TABLABELNEARMOVAL,9JMPSHORTDISP;输出一个回车换行符CRLFLABELNEARMOVAL,13CALLDISPMOVAL,10;显示一个字符DISPLABELNEARPUSHAXPUSHDXMOVAH,2MOVDL,ALINT21HPOPDXPOPAXRET;检查是否为运算符ISYSFLABELNEARCLDLODSBCALLISJJJZISYSF1CALLISIIJZISYSF1DECSIISYSF1:RET;检查是否是加减运算ISJJLABELNEARCMPAL,+JZISYSF1CMPAL,-RET;检查是否为乘除运算I
8、SIILABELNEARCMPAL,*JZISYSF1CMPAL,/JZISYSF1CMPAL,RET;数据输出;CX=10十进制;CX=16十六进制DOUTLABELNEARPUSHAXPUSHBXPUSHDXPUSHBPXORBP,BPDOUT1:INCBPPUSHAXMOVAX,DXXORDX,DXDIVCXMOVBX,AXPOPAXDIVCXPUSHDXMOVDX,BXORBX,AXJNZDOUT1DOUT2:POPAXADDAL,0CMPAL,9JBEDOUT3ADDAL,A-9-1DOUT3:CALLDISPDECBPJNZDOUT2POPBPPOPDXPOPBXPOPAXRET;
9、输入数据在DX:AX中返回;CX=0数据为10进制;CX#0数据为16进制DATELABELNEARPUSHBXPUSHBPPUSHDIXORAX,AXXORDX,DXDATE1:MOVDI,AXLODSBCMPAL,0JBDATE7CMPAL,9JADATE6DATE2:ANDAX,0FHSHLDI,1RCLDX,1MOVBX,DIMOVBP,DXSHLDI,1RCLDX,1SHLDI,1RCLDX,1JCXZDATE3SHLDI,1RCLDX,1JmpshortDATE4DATE3:ADDDI,BXADCDX,BPDATE4:ADDAX,DIADCDX,0JMPDATE1DATE5:ADD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 课程设计 四则运算 计算器 17
限制150内