武汉理工课程设计阶数求和汇编语言程序设计.doc

武汉理工课程设计阶数求和汇编语言程序设计.doc

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
武汉理工课程设计阶数求和汇编语言程序设计

课程设计任务书 学生姓名: 张继乐 专业班级: 自动化0904 指导教师: 刘劲松 工作单位: 自动化学院 题 目: 阶数求和汇编语言程序设计 初始条件: 采用16位微处理器 8086 CPU以及86系列微型计算机的指令系统; 软件设计平台为多功能微型计算机实验软件MFS中的微机原理实验集成环境MF2KP。 要求完成的主要任务: 1、设计汇编语言程序,实现阶数求和的功能,具体功能要求如下: (1)屏幕提示输入一个数字N(1位数); (2)计算S=1!+2!+3!+?+N!的和并输出求和结果S; (3)可连续输入数字进行计算,直至单击“Q”或“q”键退出程序。 2、根据功能要求绘制程序流程图、编写完整的汇编语言程序并上机调试: 3、撰写课程设计说明书。课程设计说明书的撰写格式如下: (1)设计说明书包括封面、任务书(指导老师提供)、正文、参考文献(3~5篇)、附录(程序清单,要求有注释)、成绩评定表(指导老师提供)。 (2)说明书正文包含总体方案论证(算法说明);程序流程图设计及其说明;软件设计关键问题或程序段落的说明;程序调试说明、结果记录及分析;课程设计收获及心得体会。 (3)同一选题若为合作完成,设计说明书中需注明本人承担的设计部分。 时间安排: 本次课程设计时间:2012年1月4日-13日 具体时间安排见微机原理课设2009级_大纲 指导教师签名: 年 月 日 系主任(或责任教师)签名: 年 月 日 目录 2.方案流程图 5 2.1 方案分析 5 2.2 流程图 5 3.程序设计及分析 8 3.1 求阶数程序 8 3.2 求阶数之和程序 8 3.3 输入程序 9 3.4 输出程序 10 4.运行结果及分析 14 5.心得体会 15 6.参考文献 16 7.程序清单 17 8.本科生课程设计成绩评定表 22 摘要 最近几十年,随着电子计算机的诞生和高速发展,社会和科技提到了前所未有的高度。计算机技术的发展所带来的信息技术的飞速发展,给人类社会带来了进步,给人们的生活生产发生了巨大深刻的变化。 微机技术,在计算机发展过程中发挥了重要的作用。计算机在保持速度和性能的基础上,使得机器更加小巧。典型代表是PC机普及到各行各业的各个领域。 不管是人们的生产或是生活,都离不开计算机,而且,计算机在以更快的速度在发展,其前途不可估量。 作为自动化的学生,微机原理是我们的专业课,学好和灵活应用微机技术对我们来说有着十分重要的意义。在大三上学期,在老师的来领下,学习了微机原理和接口技术,对微机有了初步的了解。学期结束后,为提高和巩固专业知识,我们进行了微机原理课程设计,主要是用汇编语言编程序代码使计算机完成相应的任务。 关键词:微机 汇编 程序代码 阶数求和汇编语言程序设计 1.题目分析及方案选择 本次课设是在键盘中输入一个1到9的数,然后求出其阶数之和,并显示出来。显然,在设计汇编程序过程中,程序代码要包括求阶数、求阶数之和、将阶数之和输出三个部分。考虑到我们用到的是16为汇编语言,而且寄存器有限,本题在编程序过程中会比较麻烦。 在进行课设之前,思路如下 图1 思路流程图 所以,我们小组在开始编程序前做出了两个方案。 方案一: 由于本题要求是输入一个数,然后算出其阶乘,我们可以先等得到输入的值N后,再分别算出N之前的阶数,再将阶数加起来。 方案二: 在启动程序后,不管三七二十一,先将1到9的阶数之和算出来,存在一定的位置,当得到输入的之后,再根据其值进行调用。 两种方案都可行,经过小组讨论,由于我们需要重复进行输入输出操作,为了节省计算机的计算时间,提高计算机的工作效率,我们选择第二种方案。 2方案流程图 2.1 方案分析 由于我们所选的方案是要将1到9的阶数之和给求出来,所以,我们需要先将1到9的阶数分别求出来,并保存在指定的一段存储单元中,然后再从存储单元中分别调用1到9的阶数,在把它们进行求和,再分别将1到9的阶数之和存储在另一个指定的存储单元中。这两个存储单元都要事先定义好。考虑到我们算出来的阶数之和会比较大,所以要定义的是32为的字空间。 在汇编程序代码中,MUL指令的16位乘16位的结果是默认在DX和AX当中,所以计算时需要多次用到,所以要注意使用,考虑到在比8小的阶乘中,小于65536,AX能保存,DX都为零,刚好在9的阶乘时的数才大于65536,需要AX,DX同时保存,这一点给程序的设计和调试过程中方便了不少。 在求阶数之和过

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档