微机原理课程设计-四则运算(共10页).doc
《微机原理课程设计-四则运算(共10页).doc》由会员分享,可在线阅读,更多相关《微机原理课程设计-四则运算(共10页).doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上微机原理与接口技术课程设计院 系:专 业:年级班级:学 号:姓 名:指导教师:设计日期: 电气与自动化工程系 通信工程 2010年12月23微机原理与汇编语言课程设计一、 课程设计目的进行程序设计的方法和技能的基本训练,巩固在课堂上学到的有关程序设计的基本知识和基本方法,通过实际动手能力的培养,进一步熟悉汇编语言的结构和使用方法,打到独立编制和调试一定滚魔的汇编语言程序水平。二、 课程设计题目四则混合运算要求从键盘上输入数字参与运算,并在屏幕上显示结果,至少实现加法减法运算。从键盘输入一个十进制两位数的四则运算表达式,如23*56(8*19)/6678,编程计算表达式
2、的值,输出十进制结果(有可能是三位或四位十进制),*/位置任意。并要求程序能反复执行直道对“还要继续吗?(y/n)”之类的提示回答“n”或“N”为止三、 报告内容1.设计主要内容根据题目的要求,该程序设计的关键是要根据四则运算中()、*、/、+、-、=的优先设置符号的权值,其中(、*、+、-、)、=的权值分别设置为5、4、4、3、3、1、0,然后根据权值大小进行运算。程序使用数字标志SIGN1、括号标志SIGN2分别来判断数字是否输入完毕和括号是否配对,另外程序定义两个数据存储区域 NUMB和MARK,其中NUMB用来保存输入的或运算的数值,MARK用来保存输入的符号及其对应的权值。程序不断判
3、断输入的符号是否是左括号( ,当遇到左括号是在存储区MARK保存其符号,紧跟着将( 的权值改为2并保存之,这是为了使程序运算括号内的表达式,当遇到右括号)时括号内运算将结束。可以把整个源程序大致划分为几个基本结构:程序加法、减法、乘法、除法、显示结果五个部分。首先用1号功能以输入字符的形式接收输入的算式,再判断输入字符ASCII码,如果是+、-、*、/、=或数字,则跳转到相应功能模块,并把输入的字符转为数值传入BX寄存器,在各功能模块中继续用1号功能输入字符,执行以上操作,将输入号符转为数据存入DX中,由于*、/优先级要高,加、减模块的实现中要根据输入运算符号进行将BX入栈操作,如果是相同优先
4、级运算符,则直接将BX,DX中的数据进行相应运算,输入=则输出运算结果,这时输出字符串Continue?,用户输入y/n执行继续计算和退出操作。2、设计思路流程图开始AL=-AL=从键盘输入字符YAL=+从键盘输入加数并执行加运算NY从键盘输入加数并执行减运算从键盘输入加数并执行乘运算YAL=*从键盘输入加数并执行除运算NAL=/YNN输出结果Y结束3、程序运行结果输入要计算的式子,按等号输出结果,计算机提示是否继续输入,输入字符y,继续输入,键入n退出程序,如果键入字符为其他,则反回提示输入。4、附录:程序代码专心-专注-专业CODES SEGMENTASSUME CS:CODES,DS:D
5、ATAS,SS:STACKSNEXTLINE MACRO ;显示换行宏 MOV AH,2 MOV DL,10 INT 21H MOV AH,2 MOV DL,13 INT 21H ENDMSTART: MOV AX,DATAS MOV DS,AX MOV BX,0INPUT1: MOV AH,1 ;从键盘输入一个字符 INT 21H CMP AL,+ ;判断是否为+ JZ ADDITION CMP AL,- ;判断是否为- JZ SUBTRATION CMP AL,* ;判断是否为* JZ MULTIPLICATION CMP AL,/ 判断是否为/ JZ DIVISION CMP AL,=
6、判断是否为= JZ RESULT CMP AL,58 判断输入是否为数字 JS L1 JMP INPUT1L1: CMP AL,47节 JNS L2 JMP INPUT1L2: SUB AL,48 如果输入为数字,将数值计入BX MOV CL,AL MOV AX,BX MOV CH,10 MUL CH ADD AL,CL MOV BX,AX JMP INPUT1 ADDITION: 输入+后,进入加法运算 MOV DX,0INPUT2: MOV AH,1 从键盘输入字符 INT 21HCMP AL,+ 判断是否为+ JZ L23 CMP AL,- 判断是否为- JZ L24 CMP AL,*
7、判断是否为* JZ L25 CMP AL,/ 判断是否为/ JZ L26 CMP AL,= 判断是否为= JZ L27 CMP AL,58 判断是否为数字 JS L21 JMP INPUT2L21: CMP AL,47 JNS L22 JMP INPUT2 如果不是数字,则跳转到INPUT2L22: SUB AL,48 将输入字符转换为数值 MOV CL,AL MOV AX,DX MOV CH,10 MUL CH ADD AL,CL MOV DX,AX JMP INPUT2L23: ADD BX,DX 执行加运算 JMP ADDITIONL24: ADD BX,DX JMP SUBTRATIO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 课程设计 四则运算 10
限制150内