网站大量收购独家精品文档,联系QQ:2885784924

微机课程设计报告—计算器.docx

  1. 1、本文档共18页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中南大学微机应用系统设计与综合实验设计报告设计题目 四则混合运算器程序设计指导老师 设计者 专业班级 设计日期 实验课题与要求1.1课程在教学计划中的地位和作用《微机应用系统设计与综合实验》课程是测控技术专业本科生必修的一门技术基础课程。通过该课程的学习使学生对微机系统有一个全面的了解、掌握常规芯片的使用方法、掌握简单微型计算机应用系统软硬的设计方法。通过课程设计进一步锻炼我们在微型计算机应用方面的实际工作能力。计算机科学在应用上得到飞速发展,因此,学习这方面的知识必须紧密联系实际:掌握这方面的知识更要强调解决实际问题的能力。我们要着重学会面对一个实际问题,如何去自己收集资料,如何自己去学习新的知识,如何自己去制定解决问题的方案并通过实践不断地去分析和解决前进道路上的一切问题,最终到达胜利的彼岸。1.2实验课题与要求1.2.1实验课题课题:四则混合运算器程序设计设计内容:按照屏幕提示输入算术表达式,例如:3+2,9*5,10-5,45/2等,然后计算相应的表达式的结果并按十进制形式输出显示。按ESC键则退出计算器菜单界面并返回dos系统,否则继续输入表达式,求得对应的结果。1.2.2实验要求实验设计要求:1.遵循模块化、结构化的程序设计方法。2.要求程序必须正确。3.程序简明易懂,多运用输入输出提示,出错信息及必要的注释。4.要求程序结构合理,语句使用得当。5.适当追求编程技巧和程序运行效率。 1.2.3工作条件使用的设备及软件为8086兼容机及MASM汇编开发软件。1.2.4运算器功能简介本计算器具体来说有以下功能和特点:(1)输入一个正数后按回车可以直接输出该正数;(2)输入一个负数后按回车可以直接输出该负数;(3)可以进行有符号数的加运算;(4)可以进行有符号数的减运算;(5)可以进行有符号数的加、减运算;(6)可以进行有符号数的乘运算;(7)可以进行有符号数的除运算;(8)可以进行有符号数的乘、除运算;(9)可以进行有符号数的加、减、乘、除四则运算;(10)支持使用括号改变运算顺序;(11)输入一个数值不是很大的合法的算术表达式并按回车,可以得到正确的结果;(12)程序采用的数据长度为16位,运算结果范围是:-32768~32767.第二章 程序设计方案2.1程序需求分析该程序设计的关键是要根据四则运算中( )、*、/、+、-、= 的优先级设置符号的权值,其中(、*、/、+、-、)、= 的权值分别设置为5、4、4、3、3、1、0 ,然后根据权值的大小进行运算。程序使用数字标志SIGN1、括号标志SIGN2分别来判断数字是否输入完毕和括号是否配对,另外程序定义两个数据存储区域 NUMB和MARK,其中NUMB用来保存输入的或运算的数值,MARK用来保存输入的符号及其对应的权值。程序不断判断输入的符号是否是左括号‘( ’,当遇到左括号是在存储区MARK保存其符号,紧跟着将‘( ’的权值改为2并保存之,这是为了使程序运算括号内的表达式,当遇到右括号‘)’时括号内运算将结束。需要注意的是程序执行完括号内表达式的运算及乘除运算后将在存储区MARK中覆盖符号(、)、*、/ 及紧跟着的权值,使得程序在运算整个四则运算表达式时当括号内表达式的运算及乘除运算结束后存储区MARK中只有‘ +、-’ 运算符及紧跟着的权值,然后按照+、- 运算符的左右顺序从左到右进行‘ +、- ’运算,当最后遇到等号‘ = ’时输出表达式的数值,然后再根据提示判断是否继续执行下一个四则运算表达式2.2主程序流程图清屏初始化首地址输出欢迎界面输入字符ERROR是数字、符号还是= =(SIGN2)=0 N 是符号 是数字 Y 保存数值(SIGN1)=0 Y NDI+2 (SIGN1)=0设置符号权值是否是‘(’ N是否是‘)’ Y(SIGN2)+1 N Y (SIGN2)-1(SI)=‘M’ Y N(CH)(SI) Y N(SI) =‘(’是否是等号 Y

文档评论(0)

mx597651661 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档