简易计算器程序设计剖析

上传人:re****.1 文档编号:488000176 上传时间:2023-11-18 格式:DOCX 页数:10 大小:159.49KB
返回 下载 相关 举报
简易计算器程序设计剖析_第1页
第1页 / 共10页
简易计算器程序设计剖析_第2页
第2页 / 共10页
简易计算器程序设计剖析_第3页
第3页 / 共10页
简易计算器程序设计剖析_第4页
第4页 / 共10页
简易计算器程序设计剖析_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《简易计算器程序设计剖析》由会员分享,可在线阅读,更多相关《简易计算器程序设计剖析(10页珍藏版)》请在金锄头文库上搜索。

1、课程设计任务书学生姓名:于强专业班级:电气0603指导教师:刘劲松工作单位: 武汉理工大学自动化学院题目:简易计算器程序设计初始条件:用汇编语言编写程序,实现简易计算器的功能。要求完成的主要任务:(1)简易计算器可进行2位十进制数以内的加减法运算;(2)使用09数字键,+、-、=功能键,C或c”作为清除键。如键入“ 11+ 12 = ”后即输出“ 23”,单击“C或c”键后清屏;(3)可连续输入数据进行计算,直至单击 Q或q”键退出程序。时间安排:周 次具体时间设计内容第周1月4日指导老师就课程设计内容、设计要求、设计进度安排、评分标准等作 具体介绍。强调课程设计期间纪律要求。学生确定选题,明

2、确设计内容及要求。1月5日6日根据选题查阅资料,完成方案的初步设计,绘制程序流程草图。1月7日中期检查及答疑(向指导老师阐述设计思路,并解释程序流程图)。1月8日根据中期检查意见修改程序流程图,编写程序代码。第周1月9日程序调试、修改。1月10日指导老师检查程序运行效果,并就结果进行评分。1月1112日学生撰写课程设计说明书。1月13日上交课程设计说明书,以及答辩。指导教师签名:年 月 日系主任(或责任教师)签名:年 月 日简易计算器程序设计1程序分析及其方案1.1程序分析该程序的目的是通过汇编语言,实现简单的两位十进制数内的加减运算。 程序通过数字 和符号的输入,可以自动的出相应的计算结果。

3、例如:在屏幕中输入: “10+2=,回车输 入后,屏幕显示“10+2=12。并且该程序要求输入字母 C或者“c”后,能清除屏幕内 容。输入字母 Q或者 q”后可以退出程序。经过分析我们可以知道,程序主要由三个模块组成:1.计算模块。该模块的总用时能判 断输入的数据和判断相应的运算类型。2.清屏模块。该模块的作用是当键入相应的指令, 可以清除屏幕内容,使屏幕处于开始状态,清楚原来显示内容。3.退出模块。当键入相应 指令后,程序可以自动退出。1. 2设计方案设计时应该充分考虑任务书所给的各项要求。我在“微机原理实验平台集成开发环境” 中进行程序的开发、修改和调试运行等测试。在进行程序设计时,先进行

4、程序的整体思路与要求,也就是设计内容的分析。当分析 好后,画出相应的流程图,以便在写代码时,能够有一个比较好的思路。之后对所写的程 序进行调试,看看所写的程序是否能满足系统要求。如果不能,则需要进行相应的修改, 知道达到相应的要求。2程序流程图设计及说明2.1 设计说明程序设计遵循模块化程序,这样可以大大降低重复语句,增加程序的高效性。首先, 设计处各个模块的作用。因为程序分别涉及到退出、清屏、计算、输入功能,因此再设计 程序时,将这些功能模块化。在进行编制成功后,如果需要运行,只需要在主程序中进行 相应的模块调用,就能实现相应的功能。在设计模块时,应该把所有模块写在主程序前边或者在主程序前边

5、有相应的定义。 之 后再根据每个模块的不同要求进行模块的编写。 在写主程序时,当碰到相应的功能,此时 只要通过命令调用模块,运行好,把模块计算的值返回这样可以实现模块的整体化, 提高 程序的高效,易修改,易查错的要求。2.2 流程方框图Input Q or q to quit特瓶糖为展上的仅20)1的雌藤,糖需要断的疆翅显示Please any key to continue-rtonl 宿械 用, 司慕容 辱代 北示 始显, A用蜗蹴谑肺谴,错嘱-嫦域蜗能3程序设计3.1 光标定位程序段CURS MACRO A,BMOV AH,2 ;置光标位置MOV BH,0 ;页号为0MOV DH,A设置

6、光标白坐标为(A.B)MOV DL,BINT 10H ;BIOS 调用ENDM该程序段的总用时当调用该子程序时,只需如下列方式调用,如:CURS 2,20.此时表明将光标定位到屏幕(2, 20)3.2 清屏程序段CLEAR MACRO COLOR 屏MOV AH,6 ;屏幕初始化MOV AL,0 ;页号MOV CH,0 ;设置左上角的坐标为(0,0)MOV CL,0MOV DL,100 ;设置右上角的坐标为(100, 100)MOV DH,100MOV BH,COLORt入行属性INT 10H ;BIOS 调用ENDM该程序段的总用时是清除屏幕显示内容,调用方式:CLEAR 1EH3.3 输入

7、程序段CURS 2,20 ;设置光标为(2.20 )DISPMSG MSG示用户界面CURS 8,41 ;设置光标为(8, 41),第一行MOV BX,0MOV CX,2NEWCHAR1:MOV AH,1 ;键盘输入并回显INT 21H ;DOS 调用CMP AL,30H ;检查输入的字符是不是数字JAE J1 ;如果不是,则转移至J1JMP D2 ;是,转移到D纵行J1: CMP AL,39H ;与 9的 ASCII 侣氢JBE J2 ;如果输入的字符是0-9 ,则转移至J2JMP D2 ;如果不是数字,则转移至D2J2: SUB AL,30HCBW ;AL勺内容符号扩展到AHXCHG AX

8、,BXMOV DI,10MUL DIXCHG AX,BXADD BX,AXLOOP NEWCHAR1MOV DATA1,BXCURS 11,41 ;设置光标位为(11, 40),第二行MOV BX,0MOV CX,2NEWCHAR2:MOV AH,1 ;键盘输入并回显INT 21H ;DOS 调用CMP AL,30H ;与0 的 ASCII 码比较JAE J3 ;如果输入数字大于等于0则跳转至J3JMP D2J3: CMP AL,39H ;与9比较JBE J4 ;如果小于或等于9则跳转JMP D2 ;如果输入不是数字则跳转J4: SUB AL,30H ;如果输入不是0-9 , 化成相应的字符C

9、BW将AL#号扩展至ij AHXCHG AX,BXMOV DI,10MUL DI XCHG AX,BX ADD BX,AX LOOP NEWCHAR2 MOV DATA2,BX 则转 MOV AX,DATA1MOV BX,DATA2 PUSH AX PUSH BX该程序段是输入数据,能使输入的数据相应的进行储存,并且之后可以调用,同时判断是 否输入错误。3.4 判断计算类型,弁计算INT 21H ;DOS调用CMP AL,+JE ADDI ;如果运算符为+,则计算两数之和CMP AL,-JE SUBT ;如果运算符为-,则计算两数之差CMP AL,*JE MULT;如果运算符为*,则计算两数之

10、积CMP AL,/JE DIVI ;如果运算符为/ ,则计算两数之商判断类型,并且调用相应的程序段或命令进行计算4程序调试1 .通过编译系统编译调试连接后,启动程序,如 4-1显示:0 C:TIKDOfSsysteB32cBd. exeMade By YQ Electrical Engineeeing and Hutonation Student No:0120611350330Please Input Tuo Nuntber and Relation Input f irst number and press enterInput second nuiiher and press enter

11、 * * First Number : *.* * Second Number:* * x x* RESULT: *图4-1程序启动后显示内容Made By YQ EliectFical Enginegirlng and Rutomatiion2 .随意输入两个2位十进制内数字,如下图4-2Student No =0128611358330Please I nput Two Nunther and Jte 1.at ic n Input first nunhei* and press enterInput second number and press enter * Fiist Nunbei

12、: w Second Number:* RESULT:图4-2输入两个有运算关系的数字3 .此时,按照选择上的choose进行需要进行的运算类型的选择比如上图我们选择加法, 得出结果如下下图4-3所示Made By YQ Electrical Engrin后总产ing and Autonation itudent No:0120G11350330iPleaLe Input Tuo Ihluinbef and R1 日上工Dn riput f irst numbei* and pi*ess entei*Input七 second nuiTihei and press entei* First N

13、umbei* : *22* * Second Numhea1*33* H- 饕 M* RESULT: *-11* *choose 1-f*,7一* *Press Q or- q 七。Exitf* *Press any key to continue f图4-3输入后显示的结果,并且程序从新开始4.此时按照屏幕上所示,但按下Q或者q,后,程序退出,当拿下其他任意键,屏幕 清屏,然后可继续进行运算。如下图 4-4Made By Q Electrical Enjgineeiingr and Aiutoiniation Student No:0120611350330Please I npuit Tw

14、o Nunibe i4 anrl Relat ionI nput fnmnbeiE* and piess: entet*I npuit second nuimbet* 改nd pr-ess en ter* * First Nuiinher = -一* *w * Second Nunbei*s * -Mt- * RESULT 二 *5心得体会通过本次实验,能初步理论联系实际,应用汇编语言,能简单设计出软件,并且能通 自己的调试进行修改。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能 力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日 异,计算机已经成为当今社会生活工作中空前活跃的领域,在生活中可以说得是无处不在。回顾起此次微机原理与接口技术课程设计, 至今我仍感慨颇多,的确,从选题到定稿, 从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的 的东西,同时不仅可以巩固了以前所学过的知识, 而且学到了很多在书本上所没有学到过 的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来, 从理论中得出结论,才能真正

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

当前位置:首页 > 商业/管理/HR > 营销创新

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