欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    汇编语言简单计算器程序毕业课程设计报告1Word文档下载推荐.docx

    • 资源ID:37558       资源大小:78.62KB        全文页数:17页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    汇编语言简单计算器程序毕业课程设计报告1Word文档下载推荐.docx

    1、2 BIOS中断调用、系统功能中断调用方法 3 磁盘文件、及文件内容操作要求题目的选择是根据汇编语言的特点主要针对系统内部的一些中断调用、系统功能调用、系统数据处理、文件数据处理而设计的,是对所学课程知识较为系统的应用。由于汇编语言编程相对其他语言编程比较复杂,因此,在设计上应把重点放在程序的功能实现上,不要太在意程序的结构和显示界面的设计。不要局限于题目所规定的要求,可以灵活裁减,设计出功能更完善程序。另外,也可以自己设计题目,同时,提出详细的功能描述,经指导老师审查同意后也可作为课程设计的题目。工作量1. 完成所选题目的软件设计;2. 课程设计说明书1000字(不包括程序源代码)左右。划第

    2、1次熟悉软件环境。第2次绘制程序流程图。第3次用编写程序。第4次用调试运行程序。第5次编写课程设计说明书考资料1李敬兆等编.汇编语言程序设计.合肥:中国科学技术大学出版社,2008.92李敬兆等编.汇编语言程序设计实验教程及习题解答.合肥:3王爽等编.汇编语言.北京:清华大学出版社,2003.54曹加恒等编.新一代汇编语言课程设计.北京:高等教育出版社,2003.65杨路明等编.汇编语言程序设计.长沙:中南大学出版社,2005.86詹仕华等编.汇编语言程序设计.北京:中国电力出版社,2008.27詹仕华等编.汇编语言程序设计习题解答及课程设计、设计辅导.北京:8宋彩莉等编.汇编语言程序设计学习

    3、指导.西安:西安交通大学出版社,2008.2指导教师签字教研室主任签字 2010年 12月 17 日安徽理工大学课程设计(论文)成绩评定表指导教师评语:成绩:年 月 日摘要汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语

    4、言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。本次设计的简单计算器支持简单的四则运算。关键词:汇编语言,简单计算器,高效,硬件Abstract Assembly language is a powerful programming language features, but also all the hardware features of computer and can directly control the hardware of the language. Assembly language, as a

    5、 language, corresponding to high-level language compiler, you need a assembler to the assembly language source file compiled into machine executable code. Advanced assembler such as MASM, TASM assembler, and so for us to write high-level language offers many similar features, such as structured, abs

    6、tract and so on. In such an environment prepared by the assembler, a large part of the directive for the assembler has been similar in the high-level language. Now the compilation environment has such a high, even if all windows in assembly language to write applications that are feasible, but this

    7、is not assembly language strengths. The strength lies in assembly language to write efficient hardware and requires precise control of the machine process. This simple calculator designed to support simple arithmetic.Keywords:assembly language, simplecalculator, efficient,hardware目录1设计目的 12概要设计 22.1

    8、 系统总体分析 22.2 主模块框图及说明 23 详细设计 43.1 主模块及子模块说明 43.2 各模块详细设计 44程序调试 124.1 运行界面分析 124.2 算法的分析 124.3 调试过程及分析 125心得体会 135.1 设计体会 135.2 系统改进 13参考文献 141设计目的通过本次的课程设计,使自己加深对汇编语言的了解,应用汇编语言程序设计等所学相关知识及查阅资料,完成简易计算器的设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能里的目的。通过本次课程设计的训练,可以使我在基本思路和基本方法上对基于8086/8088和基于ARM核的汇编语言程序设计有一

    9、个比较感性的认识,并具备一定程度的设计能力,从而能够熟练掌握编写汇编语言源程序的基本方法和基本构架,学会编写顺序结构、分支结构、循环结构和子程序的汇编程序,掌握程序中数据的产生与输入输出的方法以及一些关于汇编语言更深层次方面有初步的认识。2概要设计2.1 系统总体分析本次设计的简单计算器,主要是为了解决数学中的加、减、乘、除四则运算的问题。由于在设计过程中考虑到了可能会多次计算数据,为此本次课程设计我设计的这个简单计算器可以一次运行,多次使用。本程序使用了函数和宏混用的方式实现了代码的较好的可读性,使程序看起来结构严谨。2.2 主模块框图及说明 本程序的功能结构图如图2-1: 图 2-1 功能

    10、结构图程序流程图如图2-2: 图2-2 流程图3 详细设计3.1 主模块及子模块说明主模块:主要完成程序的主体框架结构,提供人-程序的交互。子模块:主要完成对数据的加工,处理。3.2 各模块详细设计首先提供一个主界面,提示用户按要求输入具体的数据和所要进行的操作,输入完毕后给出结果。如果输入过程中发现非法输入,则立即给与提示,程序自动刷新界面,提示继续输入。整个过程按“ESC”结束。流程图如下图3-1: N Y 图3-1 主模块流程图代码如下:CURS MACRO A,B MOV AH,2 ;置光标位置 MOV BH,0 ;页号为0 MOV DH,A ;设置光标的坐标为(A.B) MOV DL

    11、,B INT 10H ;BIOS调用 ENDM ;DISPMSG MACRO MESSAGE LEA DX,MESSAGE ;传递MESSAGE的偏移地址 MOV AH,9 ;显示字符串 INT 21H ;DOS调用 CLEAR MACRO COLOR ;清屏 MOV AH,6 ;屏幕初始化 MOV AL,0 ;页号 MOV CH,0 ;设置左上角的坐标为(0,0) MOV CL,0 MOV DL,100 ;设置右上角的坐标为(100,100) MOV DH,100 MOV BH,COLOR ;卷入行属性 .MODEL SMALL .STACK .DATA ;数据段定义 MSG0 DB * *

    12、 * * * * * * * * * * * * * * * * * *,0DH,0AH ;,0dh,0ah,0dh,0ah DB * *,0DH,0AH db * *,0dh,0ah * caculater * * NUM1: *,0dh,0ah,0dh,0ah,0dh ,0DH * NUM2: * RESULT:,0DH,0AH,0DH ;,0ah,0dh,0ah,0dh,0ah,0dh,0ah,0dh,0ah,0dh * * * * * * * * * * * * * * * * * * * *,$MSG1 DB choose +,-,*,/MSG2 DB you choose wron

    13、g,0AH,0DH MSG3 DB Press ESC to Exit!,0DH,0AH,MSG4 DB Press any key to continue!MSG5 DB -MSG6 DB .MSG7 DB error input!MSG8 DB data2 is wrong!NUM1 DW ?NUM2 DW ? 完成对数据的进一步加工处理,转换格式并得出结果。首先根据输入调用对应的“+”、“-”、“*”、“/”四大函数模块,这是本程序的核心模块,其他部分的一些小模块都是为这几大模块服务的,大致的流程图如下图3-2: N Y 图3-2 子模块流程图BEGIN PROC NEAR BACK:

    14、CLEAR 1EH CURS 2,20 ;设置光标为(2.20) DISPMSG MSG0 ;显示用户界面 CURS 8,41 ;设置光标为(8,41) ,第一行 MOV BX,0 MOV CX,2 NEWCHAR1:MOV AH,1 ;键盘输入并回显 CMP AL,30H ;检查输入的字符是不是数字 JAE J1 ;如果不是,则转移至J1 JMP D2 ;是,转移到D2执行 J1: CMP AL,39H ; 与9的ASCII比较 JBE J2 ;如果输入的字符是0-9,则转移至J2 如果不是数字,则转移至D2 J2: SUB AL,30H CBW ;AL的内容符号扩展到AH XCHG AX,

    15、BX MOV DI,10 MUL DI ADD BX,AX LOOP NEWCHAR1 MOV NUM1,BX CURS 11,41 ;设置光标位为(11,40),第二行 NEWCHAR2:与0的ASCII码比较 JAE J3 ;如果输入数字大于等于0则跳转至J3 JMP D2 J3:与9比较 JBE J4 ;如果小于或等于9则跳转 如果输入不是数字则跳转 J4: SUB AL,30H ;如果输入不是0-9,则转化成相应的字符 将AL符号扩展到AH LOOP NEWCHAR2 MOV NUM2,BX MOV AX,NUM1 MOV BX,NUM2 PUSH AX PUSH BX CURS 15

    16、,33 ;设置光标的位置为(15.33),第三行 DISPMSG MSG1 ;显示提示信息 接受键盘输入并回显 CMP AL,+JE ADDI ;如果运算符为+,则计算两数之和 JE SUBT ;如果运算符为-,则计算两数之差 *JE MULT ;如果运算符为*,则计算两数之积 /JE DIVI ;如果运算符为/,则计算两数之商 CURS 16,25 ;设置光标为(16,25) DISPMSG MSG2 ;在屏幕上输出提示信息 JMP D1 - ADD THE TWO DATAS ADDI: POP BX POP AX ADD AX,BX ;计算两数字之和 CURS 14,41 ;设置光标位置

    17、为(14,41) CALL CHANGE ;将结果转换为十进制数 SUBT:CMP AX,BX ;比较两数大小 JAE D0 ;如果AX=BX则跳转 CURS 14,40 ;设置光标位置为(14,40) DISPMSG MSG5 ;在屏幕上显示负号 POP BX D0: SUB AX,BX ;计算两数之差 MULT:MUL BX ;计算两数之积 DIVI:CMP BX,0 ;判断除数是否为0 JE ERROR ;如果是0则跳转 CWD DIV BX ;计算两数之商 PUSH DX 将十六进制数转换为十进制数 POP DX CMP DX,0 JNE LOP ;如果DX不等于0则跳转 LOP: M

    18、OV CX,4 ;设置精确度为小数点后4位 DISPMSG MSG6 ;输出小数点 CON: PUSH BX MOV AX,DX MOV BX,10 MUL BX CWD ;将AX的内容符号扩展到双字 计算小数点后每一位的数字 PUSH CX 将十六进制数转化为十进制数 POP CX CMP DX,0 ;判断是否已经计算到小数点后第六位 JE D1 ;如果是,则跳转 LOOP CON ;如果不是,就继续计算 ERROR: CURS 15,33 ;设置光标位置为(15,33) DISPMSG MSG8 ;提示出错 D1: RET D2: PUSH AX DISPMSG MSG7 ;提示输入出错

    19、RET BEGIN ENDP4程序调试4.1 运行界面分析 运行界面如图4-1图4-1 运行界面 在NUM1这一行会提示输入第一个数据,NUM2这一行提示输入第二个数据,输入完成两个数据后程序会提示允许输入运算符,输入无误后在RESULT行显示结果。4.2算法的分析本程序使用了宏和函数调用的方法,这样做使得整个程序体看上去严谨,舒服。整个程序中的CHANGE子程序,将十六进制数转换为十进制数。BEGIN子程序开始运算。DISPMSG子程序,显示用户界面。通过这几个及程序的协助,使得这个系统可以正常的运行。4.3 调试过程及分析 编写完代码后分别点击按钮“C”,”L”,”R”,依次完成编译、连接

    20、和运行过程,也可以进入DOS环境下用DEBUG命令完成类似的功能,整个程序按“ESC”退出。5心得体会5.1 设计体会本次课程设计我有不少收获:在选好了题目之后我查阅了不少资料,加深的对汇编语言的认识;在往后的几周上机实践中,对汇编语言源程序的编辑、汇编、连接和调试的全过程更加熟练;在不断地求解过程中,了解到了汇编语言的一些特点,感觉到汇编语言的执行效率非常高,由于汇编是对底层的操作,这一点决定了它在代码的产量方面不如一些高级语言。本次课程设计的成功完成,我首先感谢我的指导老师刘向举,他自始至终都给予了我莫大的帮助,正是在刘向举老师的悉心指导下我才能顺利完成本次课程设计中的每一个计划。在这次课程设计中,无论从课题选择,方案论证上,还是到具体的设计和调试,每一项安排他都提出了至关重要的建议,使我少走了许多弯路,节省了大量时间,可以说,我的课程设计的顺利完成凝聚着老师的大量心血,在此向刘向举老师表示深深的感谢。 当然,我也要感谢我的同学和那些互联网上的朋友,他们毫不吝啬的将自己所掌握的知识拿出来资源共享,才能使我的部分功能模块得以实现,谢谢他们5.2 系统改进本程序有一些问题:1) 不能进行混合的四则运算2) 能计算的数值范围有限,容易产生益处3) 不能进行有关小数的四则运算4) 在进行除法运算时的精确度不高在以后的时间里,我会改进一些问题,力争使该程序完美。参考文献


    注意事项

    本文(汇编语言简单计算器程序毕业课程设计报告1Word文档下载推荐.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开