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

    2位数计算器程序-汇编语言课程设计-.pdf

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

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

    2位数计算器程序-汇编语言课程设计-.pdf

    信息学院课程设计题目:2 位数计算器程序设计 _姓名:_ _ 学号:_ _ 班级:课程:汇编语言 _ 任课教师:侯艳艳 _ 2011 年 12 月课程设计任务书及成绩评定题 目2 位数计算器程序设计课程设计的任务及要求任务:利用汇编语言编写计算器程序实现能完成两位数的加、减、乘、除运算功能要求:熟悉汇编指令、顺序程序的编写方法学会使用DOS 功能调用、子程序调用完成相关操作课程设计所需的软件、硬件等软件:MASM 软件硬件:可以运行汇编语言的计算机课程设计进度计划第一天熟悉软件环境第二天绘制程序流程图第三天编写程序代码第四天用 DEBUG 调试运行程序第五天编写课程设计说明书任课教师评语成绩:教师签名:日期:-1-目录摘要21设计目的?22概要设计?3 2.1 系统总体分析?3 2.2 程序流程图3 3详细设计?4 3.1 主程序及子程序说明4 3.2 程序代码编写4 4程序调试6 4.1 运行界面分析6 4.2 算法的分析6 4.3 调试过程及分析6 5心得体会7 5.1 设计体会?7 5.2 系统改进?7 参考文献8-2-摘要本次课程设计的题目是用汇编语言实现一个简单的2 位数计算器,要求:编写一个程序,可实现对两个 2 位十进制数进行加、减、乘、除四则运算的计算工具。计算器是最简单的计算工具,要想用汇编语言实现它就必须通过对数据存储,寄存器的使用,加减乘除相关指令以及子程序的调用等汇编语言知识进行综合运用,以实现一个基本功能完善,界面友好,操作简便易行的计算器。用汇编语言实现简单计算器还涉及到输入输出模块的设计,加减乘除运算的判断以及退出程序的判断的设计。通过对各种指令的合理使用,设计各个功能模块,当实现各个程序模块后,通过 DOS 功能调用完成运算结果的输出显示,最终实现一个简单的计算器功能。1.设计目的通过本次的课程设计,使自己加深对汇编语言的了解,应用汇编语言等所学相关知识及查阅资料,完成简易2 位计算器的设计,以达到理论与实践更好的结合、进一步提高综合运用所学知识和设计的能里的目的。通过本次课程设计的训练,可以使我在基本思路和基本方法上对基于8086/8088CPU的汇编语言程序设计有一个比较感性的认识,并具备一定程度的设计能力,从而能够熟练掌握编写汇编语言源程序的基本方法和基本构架,学会编写顺序结构、分支结构、循环结构和子程序的汇编程序,掌握程序中数据的产生与输入输出的方法以及一些关于汇编语言更深层次方面有初步的认识。-3-2.概要设计2.1 系统总体分析本次设计的简单计算器,主要是为了解决数学中的加、减、乘、除四则运算的问题。由于在设计过程中考虑到了可能会多次计算数据,为此本次课程设计我设计的这个简单计算器可以一次运行,多次使用。本程序使用了DOS 功能调用、子程序嵌套调用的方式实现了代码的较好的可读性,使程序看起来结构严谨。2.2 程序流程图本程序的流程图如图所示:流程图开始将数据的 ASCII 码转换为对应的二进制数值将符号保存至AL 中AL 为+?加运算AL 为-?AL 为*?AL 为/?减运算乘运算除运算输入计算公式将计算结果转换成对应的ASCII 码输出计算结果继续?结束-4-3.详细设计3.1 主程序及子程序说明主程序:主要完成程序的主体框架结构,提供人机交互功能。子程序:主要完成对数据的加工,处理和输出。3.2 程序代码编写代码如下:STACK SEGMENT STACK DW 200 DUP(0)STACK ENDS DATA SEGMENT BUF DB 7 DB 0 DB 7 DUP(0)MSG DB 10,13,$MSS DB.$W1 DB Input error!,10,13,Please to 01+02 form input:$TS DB input01+02=:,10,13,$XS DB-2 digits Calculator-$DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK START:MOV AX,DATA MOV DS,AX LEA DX,XS MOV AH,9 INT 21H B1:LEA DX,MSG MOV AH,9 INT 21H LEA DX,TS MOV AH,9 INT 21H B2:MOV AH,10 LEA DX,BUF INT 21H LEA DX,MSG MOV AH,9 INT 21H MOV BH,BUF+2 MOV BL,BUF+3 MOV CH,BUF+5 MOV CL,BUF+6 SUB BH,30H SUB BL,30H SUB CH,30H SUB CL,30H MOV DH,10 MOV AH,0 MOV AL,BH MUL DH MOV BH,0 ADD BX,AX MOV AH,0 MOV AL,CH MUL DH MOV CH,0 ADD CX,AX MOV AL,BUF+4 CMP AL,+JZ L1 CMP AL,-JZ L2 CMP AL,*JZ L3 CMP AL,/JZ L4 LEA DX,W1 MOV AH,9 INT 21H JMP B2 L1:ADD BX,CX CALL BDC JMP E1 L2:CMP BX,CX JB Z21 SUB BX,CX JMP Z22-5-Z21:MOV AH,2 MOV DL,-INT 21H SUB CX,BX MOV BX,CX Z22:CALL BDC JMP E1 L3:MOV AH,0 MOV AL,BL MUL CL MOV BX,AX CALL BDC JMP E1 L4:MOV DX,0 MOV AX,BX DIV CX MOV BX,AX CALL BDC CMP DX,0 JZ E1 LEA DX,MSS MOV AH,9 INT 21H MOV BX,DX CALL BDC E1:JMP B1 MOV AH,4CH INT 21H BDC PROC PUSH CX PUSH DX CMP BX,10000 JNB P1 CMP BX,1000 JNB P2 CMP BX,100 JNB P3 CMP BX,10 JNB P4 JMP P5 P1:MOV CX,10000 CALL DISP P2:MOV CX,1000 CALL DISP P3:MOV CX,100 CALL DISP P4:MOV CX,10 CALL DISP P5:MOV CX,1 CALL DISP POP DX POP CX RET BDC ENDP DISP PROC PUSH AX PUSH CX PUSH DX MOV AX,BX MOV DX,0 DIV CX MOV BX,DX MOV DL,AL ADD DL,30H MOV AH,2 INT 21H POP DX POP CX POP AX RET DISP ENDP CODE ENDS END START-6-4.程序调试4.1 运行界面分析运行界面如图所示:在提示 input01+02=:处按照格式输入运算公式,输入完成后敲击回车键,输入无误后在下一行显示运算结果。4.2 算法的分析本程序使用了子程序的嵌套调用的方法,这样做使得整个程序体看上去严谨,舒服。整个程序中的 BDC 子程序,将二进制数转换为十进制数,嵌套调用DISP子程序输出十进制数。通过这几个及程序的协助,使得这个系统可以正常的运行。4.3 调试过程及分析编写完代码后分别通过MASM、LINK 程序,依次完成编译、连接过程,然后运行生成的exe文件,发现错误后在使用DEBUG 工具调试程序寻找其中的算法错误。-7-5.心得体会5.1 设计体会本次课程设计我有不少收获:在编程之前我查阅了不少资料,加深的对汇编语言的认识;在往后的几周上机实践中,对汇编语言源程序的编辑、汇编、连接和调试的全过程更加熟练;在不断地求解过程中,了解到了汇编语言的一些特点,感觉到汇编语言的执行效率非常高,由于汇编是对底层的操作,这一点决定了它在代码的产量方面不如一些高级语言。在这次课程设计中,无论是进行算法设计、代码编写,还是到具体的设计和调试,都需要对汇编知识熟练地掌握,还要有一种严谨的态度,这样才能少走许多弯路,节省大量时间。本次课程设计的成功完成,我感谢我的指导老师侯老师,是她及时发现了我编写的程序中存在的一些问题,我才能顺利完成本次课程设计。可以说,我的课程设计的顺利完成凝聚着老师的大量心血,在此向侯老师表示深深的感谢。当然,我也要感谢我的同学,程序的编写与他们的合作是分不开的,还有那些互联网上的朋友,他们毫不吝啬的将自己所掌握的知识拿出来资源共享,才能使我的部分功能模块得以实现,谢谢他们。5.2 系统改进本程序有一些问题:1)不能进行混合的四则运算。2)能计算的数值范围有限。3)不能进行有关小数的四则运算。4)在进行除法运算时不能输出小数。5)由于主程序代码过长,条件转移指令无法实现,本程序只能进行循环计算,没有实现退出功能。在以后的时间里,我会改进一些问题,力争使该程序完美。-8-参考资料1 李目海等编.汇编语言.山东大学出版社,2008.2 2 李敬兆等编.汇编语言程序设计实验教程及习题解答.中国科学技术大学出版社,2008.9 3 王爽等编.汇编语言.清华大学出版社,2003.5 4 曹加恒等编.新一代汇编语言课程设计.高等教育出版社,2003.6 5 杨路明等编.汇编语言程序设计.中南大学出版社,2005.8 6 詹仕华等编.汇编语言程序设计.中国电力出版社,2008.2 7 詹仕华等编.汇编语言程序设计习题解答及课程设计、设计辅导.中国电力出版社,2008.2 8 宋彩莉等编.汇编语言程序设计学习指导.西安交通大学出版社,2008.2

    注意事项

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

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




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

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

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

    收起
    展开