欢迎来到天天文库
浏览记录
ID:13146666
大小:162.50 KB
页数:17页
时间:2018-07-20
《汇编简单计算器设计课设》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、中北大学课程设计任务书10/11学年第二学期学院:信息与通信工程学院专业:自动化学生姓名:张欣宇学号:0805054116课程设计题目:简单计算器设计起迄日期:2011年6月20日~2011年6月24日课程设计地点:中北大学指导教师:张艳兵、张秀艳系主任:王忠庆下达任务书日期:2011年6月19日课程设计任务书1.设计目的:用汇编语言编程设计一个简单的计算器,实现两个运算数的键盘输入和加减乘除运算,并显示运算结果。通过设计,掌握键盘输入、屏幕显示和算术运算指令的应用,进一步提高综合运用知识的能力。2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):
2、(1)要求键盘输入2位十进制数,进行加减乘除运算,并在屏幕上显示出运算结果。(2)选择方案,画出流程图。(3)编写汇编语言源程序,并调试。(4)写出设计说明书。3.设计工作任务及工作量的要求(1)查阅资料,确定设计方案对任意给定的正确四则运算表达式,能按照括号、加减乘除计算的优先级,正确计算其结果值并输出。且能计算的正确数据范围为16位无符号数,即结果只能在0~65535之间,否则错误。(2)画出程序流程图(3)编写并调试汇编语言源程序(4)撰写课程设计说明书(5)心得体会4.主要参考文献:1《汇编语言》清华大学出版社王爽编2《IBM-PC汇编语言程序设计》清
3、华大学出版社5.设计成果形式及要求:课程设计说明书1份程序流程图1份程序清单1份6.工作计划及进度:起迄日期工作内容11年6月20日~6月21日6月21日~6月22日6月22日~6月23日6月23日~6月24日6月24日查阅资料,确定设计方案画出流程图编写并调试程序撰写课程设计说明书课程设计答辩系主任审查意见:签字:年月日中北大学汇编原理课程设计说明书 学生姓名:张欣宇学号:0805054116学院: 信息与通信工程学院专业: 自动化题目:键盘和显示器设计指导老师张艳兵 职称讲师2011年6月24日设计目的:用汇编语言编程设计一个简单的计算器,实现两个运算
4、数的键盘输入和加减乘除运算,并显示运算结果。通过设计,掌握键盘输入、屏幕显示和算术运算指令的应用,进一步提高综合运用知识的能力。设计要求:(1)要求键盘输入2位十进制数,进行加减乘除运算,并在屏幕上显示出运算结果。(2)选择方案,画出流程图。编写汇编语言源程序,并调试、写出设计说明书。设计过程:在DOS下进入masm的目录,用masm程序将编辑好的asm文件编译输出目标文件obj文件,用link程序把obj文件连接生成exe文件后,直接运行该可执行文件进入该程序的界面,提示输入正确的表达式,以等号结束,程序给出正确的结果。输入的表达式中只能含有加减乘除及数字括
5、号,最后以等号结束,如果输入其它字符,程序会给出相应的提示信息此程序计算的结果范围最大为65535,所以当输入的数值计算结果超出范围时,结果溢出,给出的结果不正确。程序中可连续输入表示计算,按ESC键退出,返回DOS。程序无需查错功能,所输入的都是正确的四则运算表达式,并且表达式中运算分量均为无正负号整数,运算符为+、-、*、/,表达式以字符"="结束。根据要求,首先需要从DOS界面输入用户的四则混合表达式,其中包括括号(或),数字,运算符+,-,*,/。因为用户从键盘输入的是ASCII码,因些需要做相应的转换。例如将字符串123转化为十进制的值123。其次,
6、需要对(,),+,-,*,/的优先级进行判断。(3)子程序流程:子过程详细说明1、compare子函数用于判断键盘输入的符号是否合法,若合法,则在屏幕上显示,否则报错2、mult子函数用于对输入的数字进行乘10累加操作,以便将连续输入的数字字符串转换为相对应的数值3、trans子函数核心算法,将输入的中缀表达式转换为后缀表达式4、value子函数核心算法,将后缀表达式结合堆栈结构进行表达式求值5、divi子函数辅助子过程,通过除以10以及进一步处理将某数值转换为相应的ASCII字符串按照个十百位6、print子过程配合divi子过程,将表达式求值结果输出到屏幕
7、上用到中断向量表如图所示程序:STACKSEGMENTPARASTACKDW256DUP(0)STACKENDSDATASEGMENTSTRIDB50DUP(0)EXPDB30DUP(0)TRACKDB30DUP(0)INSTRDB100DUP(0)MSG0DB'input:',0DH,0AH,'$'MSG1DB0DH,0AH,'wrong','$'MSG2DB0DH,0AH,'(and)doesnotmatch','$'MSG3DB0DH,0AH,'divbyzeroerror','$'MSG4DB0DH,0AH,'fushu','$'MSG5DB0DH,0
8、AH,'anykeytocontinu
此文档下载收益归作者所有