欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    汇编语言程序设计报告.doc

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

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

    汇编语言程序设计报告.doc

    汇编语言课 程 设 计报 告专 业 计算机科学与技术学 生 姓 名 张竹青班 级 Z计算机151学 号 1560704132任 课 老 师 王志宏完 成 日 期 2017年12月29日实现加减乘除四则运算的计算器目录1 概 述 .11.1 设计目的 .11.2 设计内容 .12 系统需求分析 .12.1 系统目标 .12.2 主体功能 .12.3 开发环境 .23 系统概要设计 .23.1 系统的功能模块划分 .23.2 系统流程图 .34 系统详细设计 .44.1 界面设置 .44.2 选择算法设置 .44.3 十进制转换设置 .45 测试 .55.1 测试方案 .55.2 测试结果 .56 小结 .6参考文献 .7实现加减乘除四则运算的计算器1实现加减乘除四则运算的计算器1 概 述 1.1 设计目的使用汇编语言,通过实现简单计算器的一般功能,如加、减、乘、除的计算来了解并掌握 DOS系统功能的调试方法,学会画出编程的具体流程图,同时在程序设计过程中熟悉各种指令的应用和意义,以及如何进行上机编辑、汇编、连接和调试。本课程设计也是对课堂上所学的基本理论知识和程序设计方法的巩固和深化,提高我们的编程思想、分析问题和解决问题的综合应用能力,能够编写较复杂的应用程序,最终达到熟练地掌握结构化程序设计技术和编写汇编源程序的基本方法的目的。1.2 设计内容设计一个能实现加、减、乘、除计算的程序,要求该程序接受从键盘输入的十六进制数,当程序执行时需在文件名后直接跟上计算表达式,每当读到一个有效的表达式时对表达式进行相应的运算后,输出用十进制数或十六进制数表示的运算结果,如在命令提示符下执行结果如下:c:tasm>js 3+252 系统需求分析2.1 系统目标本次汇编语言课程设计的最终目的是要实现一个简单的加减乘除四则运算的计算器,要求编写一个程序,每运行一次可执行程序,可以实现数的加减乘除四则运算。具体功能如下:(1)调用中断把要做运算的两个数输入到屏幕上并用程序将他们存储起来(2)判断用户所输入的运算是四则运算中的哪一种运算(3)判断运算过程中是进位还是借位(4)选择用何种输出方式(5)实现清屏2.2 主体功能要求该程序接受的是十六进制数,执行相应的计算后,计算结果以十六进制数或十进制数输出。本设计的使用说明如下:(1)按照提示选择数字 1,2,3,4(2)1:ADD 加法(3)2:SUB 减法实现加减乘除四则运算的计算器2(4)3:MUL 乘法(5)4:DIV 除法(6)输入一个小于四位的数字,回车(7)再输入一个小于四位的数字,回车(8)显示结果(9)退出按 0,选择 Y或 N2.3 开发环境TASM5.0 集成环境3 系统概要设计3.1 系统的功能模块划分本设计实现的模块图如图 3-1所示图 3-1 概要模块(1)界面设置主要实现确定界面样式的功能,以菜单形式显示。(2)选择算法设置用于选择加、减、乘、除法来进行运算。(3)十进制转换设置应用十进制的转换算法来处理加、减、乘、除法四则运算。四则运算计算器程序设计界面设置 选择算法设置 十进制转换设置实现加减乘除四则运算的计算器33.2 系统流程图图 3-2四则运算计算器执行过程流程图开始输入选择键 XX=1? 十六进制加法否是X=2? 十六进制减法十六进制除法十六进制乘法是否否否NX=3?Exit?X=4?X=0?是是Y结束退出程序是否实现加减乘除四则运算的计算器44 系统详细设计4.1 界面设置通过定义数据段,利用 09H显示出功能列表。通过定义数据段,以字符串的形式输入每个提示信息,利用 09H键盘输入并回显命令显示每一个功能提示,是计算器的功能列表有序清晰的显示在屏幕上。4.2 选择算法设置首先选择要进行的四则运算,若选择 1,则进行加法;若选择 2,则进行减法;若选择 3,则进行乘法;若选择 4,则进行除法。加法:先输入第一个小于 4位十六进制数存入 SI中,在输入第二个小于 4位十六进制数存入 BX中,然后显示 BX 和SI中的内容相加存在 BX中。减法:先输入第一个小于 4位十六进制数存入 SI中,在输入第二个小于 4位十六进制数存入 BX中,然后显示 BX 和SI中的内容相减存在 BX中,然后用 NEG来求反,即为第一个数减去第二个数的差,显示 BX的内容即为差。乘法:先输入第一个小于 4位十六进制数存入 SI中,在输入第二个小于 4位十六进制数存入 BX中,把 BX的值给 AX,然后让 AX乘以SI,然后再分别将 DX,AX 中的内容赋给 BX,接着依次显示 DX,AX 的内容,即为积。除法:先输入第一个小于 4位十六进制数存入 SI中,在输入第二个小于 4位十六进制数存入 BX中,将SI赋给 AX作被除数,让 BX作除数,得到的商存放在 AX中,余数放在 DX中,然后依次赋给 BX,将其依次显示即为商。4.3 十进制转换设置要完成十进制转换成十六,一般采用除十六取余法来完成,其大致过程如下:将待转换的数除以 16得到第一个商和余数,此第一个余数就是所求的十六进制数的各位,再用第一个商除以 16,得到第二个商和余数,此第二个余数就是所求十六进制数的十位,重复这一过程直至商为 0,此时的余数就是所求十六进制数的最高位。在内存中分配一缓冲区,用来存放以上分离出来的使十进制数的每一位,然后再逐个转换成 ASCII码,转换成 ASCII码的过程很简单,就是给每个十六进制位加上 30H即可,最后送显示器输出。实现加减乘除四则运算的计算器55 测试5.1 测试方案对程序源代码进行功能调试和功能验证。程序代码运行成功后,分别检验测试其加、减、乘、除功能,并对结果进行分析。当用户选择 0时,输入 Y或 N决定是否退出程序。5.2 测试结果正确输出:加、减、乘、除的运算结果分别如图 5-1、图 5-2、图 5-3、图 5-4所示图 5-1 加法的运算的结果截图图 5-2 减法的运算的结果截图实现加减乘除四则运算的计算器6图 5-3 乘法的运算的结果截图图 5-4 除法的运算的结果截图测试结束后,退出程序,如图 5-5所示:图 5-5 退出程序6 小结本次课程设计是运用汇编语言设计一个计算器,其主要功能是实现加减乘除四则基本运算,整个程序中主要分为:输入表达式,加法,减法,乘法,除法和以十六进制输出结果这几个部分。本程序基本实现了四则运算的功能,但是只能单独进行某一种运算,没有实现混合运算的效果,由于程序会产生溢出现象,所以在除法运算中不能运算较大的数。在编写过程中用到了很多基础知识,但是在程序运行时总会出现一些问题,由于汇编基础比较薄弱,所以有时会打错了程序代码,误解了知识点,不了解程序结构等,但是通过查阅资料,请教老师并和同学讨论,最终解决了所有问题,也成功的运行出了结果。通过本次课程设计,不仅加深了我对汇编程序设计的认识,也提高了改写程序代码和动手操作的能力,还有编程的基本习惯和开发系统时应注意的流程,同时也对各种指令有了进一步的理解。并且我发现一个好的汇编程序不仅要正确可行,还要有健壮性,当用户输入非法的数据,使运行环境改变时,程序能恰当地作出反应或进行处理,不会产生莫名奇怪的输出结果。因为完成设计的时间较短,并且对汇编语言知识比较生疏,设计之中难免有一些错误和不妥之处,同时也需要改进,所以真诚的希望尊敬的老师批评指正。实现加减乘除四则运算的计算器7参考文献1曹加恒.新一代汇编语言课程设计M.北京:高等教育出版社,20132杨路明.汇编语言程序设计M.长沙:中南大学出版社,20153王爽.汇编语言M.北京:清华大学出版社,2016实现加减乘除四则运算的计算器8附 录附录 源程序清单IN16 MACRO ;完成从键盘接受二个数并转换为十六制数,第一个数由 SI指向,第二个数存放在 BX中 LEA DX,PR ;DX指向 PR换行CALL OUTPUT ;LEA DX,INPUT1 ;DX指向 INPUT1,提示输入第一个数CALL OUTPUT CALL INPUT ;把输入的数存放在 BX中LEA SI,RESULT ;SI指向 RESULTMOV SI,BX ;把第一个十六制数存入 RESULT的第一个位置LEA DX,PR ;DX指向 PR,换行CALL OUTPUT LEA DX,INPUT2 ;DX指向 INPUT2,提示输入第一个数CALL OUTPUT CALL INPUT ;把输入的数存放在 BX中ENDM ;宏结束DATA SEGMENT ;数据段BUF DB ' ',0DH,0AHDB '*- WELCOME TO CALCULATOR SYSTEM -*',0DH,0AHDB '*-1:ADD-2:SUB-3:MUL-4:DIV-0:QUIT-*',0DH,0AHDB '*- 2011*6*21-*',0DH,0AHDB 0DH,0AH,'Please input the choose number:','$' INPUT1 DB 'Please input the first number xiao yu 4 wei:','$'INPUT2 DB 'Please input the second number xiao yu 4 wei:','$'RESULT DW ?,? ;存放键盘输入的两个十六制数WRO DB 'You input the number is wrong,please input again:',0DH,0AH,'$' PR DB 0DH,0AH,'$' ;将光标移到下一行起始位置PR1 DB 'A + B=$'PR2 DB 'A - B=$'PR3 DB 'A * B=$'PR4 DB 'A / B=$'PR5 DB '.$'PR6 DB 'Are you sure exit?(Y/N)$' DATA ENDS ;数据段落定义结束

    注意事项

    本文(汇编语言程序设计报告.doc)为本站会员(高远)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开