- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
福建工程学院软件学院
题 目: 汇编计算器
班 级: 1301
姓 名
学 号:
指导老师:
日 期:
目录
1、设计目的 3
2、概要设计 3
2.1 系统总体分析 3
2.2 主模块框图及说明 3
3、详细设计 4
3.1 主模块及子模块概述 4
3.2 各模块详运算 4
4、程序调试 7
4.1 运行界面分析 7
算法分析 7
4.2 调试过程与分析 9
5、心得体会 11
5.1 设计体会 11
5.2 系统改进 11
附录: 11
1、设计目的
本课程设计是一次程序设计方法及技能的基本训练,通过实际程序的开发及调试,巩固课堂上学到的关于程序设计的基本知识和基本方法,进一步熟悉汇编语言的结构特点和使用,达到能独立阅读、设计编写和调试具有一定规模的汇编程序的水平。
2、概要设计
用8086汇编语言编写一个能实现四则混合运算、带括号功能的整数计算器程序。程序能实现键盘十进制运算表达式的输入和显示(例如输入:“1+2*(3-4)”),按“=”后输出十进制表示的运算结果。
2.1 系统总体分析
在8086的操作环境下,该计算器分成输入,数据存储,运算功能,输出几个大模块,实现了使用者使用该计算器时输入一个算式,能让系统进行计算。此计算器的实现功能是基本的数学的四则运算,结果范围在0~65535。
2.2 主模块框图及说明
此流程图简要的表现出了所要实现的功能以及一些功能的大概算法,同时也是我编写的一个总体的框架。
程序流程图说明:通过流程图,可以看出程序运行时,首先输出提示语气,当用户输入后,程序根据所输入内容进行判断,通过判断的结果来决定调用哪个功能模块,首要先要要判断的是否为0-9,“+”“-”“*”“/”这些字符,若不是就会报错,实则根据运算符号调用其功能模块完成运算。最后将运算的结果显示在主频幕上,返回主程序,使用户可以重新输入。
3、详细设计
3.1 主模块及子模块概述
根据题目要求,可以把程序的工作过程划分为运算表达式输入、计算、结果输出三部分。因此在编写程序时可以按此把程序大致划分为三个模块。
输入:界面的显示设置,以及输入的字符问题进行设计
计算:该模块为计算器的核心部分,其中包括运算级的优先级转换和基本的加减乘除函数的函数的编写。
显示:对其结果进行一个输出显示。
各模块详运算
1运算表达式输入
2.加减乘除函数
(1)加法指令指令格式: 加法 ADD DST, SRC; (DST)←(SRC)+(DST)
带进位加法 ADC DST, SRC; (DST)←(SRC)+(DST)+CF
加1 INC OPR; (OPR)←(OPR)+1
(2)减法指令格式:
SUB DST,SRC ; (DST)←(DST)-(SRC)
带进位减法 SBB DST,SRC ; (DST)←(DST)-(SRC)-CF
减1 DEC OPR ; (OPR)←(OPR)-1
求补 NEG OPR ; (OPR)←0FFFFH-(0PR)+1
比较 CMP OPR1, OPR2 ; (OPR1)-(OPR2)
(3)乘法指令 乘法运算分为无符号数运算和有符号数运算,各有相应的指令,并使用双操作数。指令格式: 无符号数乘法 MUL SRC;(AX)←(AL)×(SRC)8位数乘法 (DX,AX)←(AX)×(SRC)16位数乘法除法指令 除法运算分为无符号数运算和有符号数运算,各有相应的指令,并使用双操作数。当除数是8位或16位二进制数时,要求被除数是16位或32位的二进制数。指令格式: 无符号数除法 DIV SRC;(AL)←(AX)/(SRC)8位二进制数除法的商 (AH)←(AX)/(SRC)8位二进制数除法的余数 或(AX)←(DX,AX)/(SRC) 16位二进制数除法的商 (DX)←(DX,AX)/(SRC) 16位二进制数除法的余数
(1)正负数区分
运算结果有三种情况:正整数、负整数、零。运算结果以补码形式对这三种情况进行统一的存储,显示输出时不同。负整数前面需要显示“-”号,因此要在进行器转换该程序直接对
文档评论(0)