求出500以内回文数微机原理课程设计说明书.docVIP

求出500以内回文数微机原理课程设计说明书.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
求出500以内回文数微机原理课程设计说明书

目录 摘要 1 1.设计目的和要求 2 1.1设计目的 2 2.程序设计说明 2 2.1 程序设计流程图 3 2.2 程序段落说明 4 2.2.1程序定义段 4 2.2.3回文数判定程序设计 5 2.2.4 程序结束程序段 7 3.程序调试及结果 7 小结及体会 8 参考文献 9 附录 10 摘要 日常生活中,计算机能处理的信息是多种多样的,如各种数据的查询与计算,不同的文字符号,各种图像信息。利用计算机的逻辑性与它的告诉计算,我们可以解决许多趣味性的数学问题,用汇编语言程序能实现数的查找计算及显示,能在MF2KI中演示,编写一定功能的程序。 此次课程设计基于我们这学期所学的《微机原理与接口技术》,要求我们运用书上知识解决汇编语言编程问题,程序要求能将实现大小写字母转换,并且输入查找字符时,能显示该字符在字符串中的位置,若原字符串中没有该字符,则在屏幕上显示相应的提示语句。程序能实现人机交互功能,有一定的提示语句。 汇编语言设计时先绘制流程图,分配存储空间,编写程序,对于我们熟悉汇编语言程序的编写,程序思路的设计有很大的帮助,应严肃认真对待。 关键词:汇编语言 编程 回文数的寻找 求出500以内的回文数 设计目的和要求 1.1设计目的 (1)进一步建立微机系统的概念,加深对系统的理解和认识,培养学生应用微型计算机解决实际问题的能力; (2)进一步学习和掌握汇编语言程序的编写和应用的方法,通过较大规模程序的编写,提高编写汇编语言程序的水平和学习程序调试方法。 (3)进一步熟悉微机最小系统的构成及常用接口芯片的使用,提高系统设计能力。 设计要求 1.设计汇编语言程序,实现求出500 以内的回文数的功能,具体功能要求如下: 如果一个数从左边和从右边读都是相同的数,就称它为回文数,例如383,求出500 以内的回文数并输出显示。要求:提示数据范围为0-500;换行显示结果。 2.根据功能要求绘制程序流程图、编写完整的汇编语言程序并上机调试 程序设计说明 汇编语言要求设计一个程序来找出0到500以内的回文数,如果一个数从左边和从右边读都是相同的数,就称它为回文数,故设计此程序思维很简单,根据回文数的特性,1至9都为回文数,而在10到500间的回文数需另外求出,因此本程序设计采用分支结构与循环结构相结合。 首先,设计一循环程序,在1到500间对每个数进行判断,因此要循环500次,在执行程序前,应先定义一个变量,为简化程序,由上述已知1至9都为回文数,故先比较此数与10的大小。从1开始,如果小于10,可以直接输出;如果大于10,将此数与100比较,如小于100,将十位与个位相比较,相同则为回文数,执行输出指令,不同则执行加一指令继续循环;如此数大于100,将个位与百位相比较,相同则为回文数,执行输出指令,不同则执行加一指令继续循环,直到1到500的数都检查了一遍,至此,1到500内的回文数都可求出。 2.1 程序设计流程图 图一 程序流程图 程序开始时,先定义数据段、堆栈段和代码段,在判断程序程序继续进行后,初始化,定义循环次数及给变量赋值,程序步骤主要分三步: 比较变量与10的大小,当变量小于10时,判定此数为回文数,将变量的个位、十位、百位存储在内存单元num、num+1、num+2中,当然小于10时个位与十位赋值为0,将变量加上0030H,转换为ASCII码,然后即可调用DOS功能将计数值输出在屏幕上 当变量大于10时,比较变量与100的大小,若变量小于100,则除以10,由汇编语言的运算法则知,余数存储在AH中,商存储在AL中,要将余数商都转换成ASCII码,将AX加上3030H,比较余数和商的大小,若相等则判定为回文数,将余数值存储在num,商存储在num+1,调用DOS功能将计数值输出在屏幕上;不相等则将变量加一,回到(a)循环 当变量大于100时,除以10,余数存储在AH中,加上0030H后存储在num中,;再将商除以10(注意AH需清零),余数和商都加上0030H,分别存储在num+1和num+2中,比较num与num+2大小,相等则判定为回文数,调用DOS功能将计数值输出在屏幕上;不相等则回到(a)继续循环,直到变量等于500为止。 2.2 程序段落说明 2.2.1程序定义段 程序定义段要定义数据段、堆栈段、代码段。定义数据段堆栈段、数据段、代码段并不复杂,参照课本上定义方法即可。不同的是在数据段的的定义中,需要多次定义提示输入输出的语句,在下续编程过程中直接引用,同时,定义数据区,定义堆栈段和代码段的程序直接参考课本即可。 定义段具体程序见附录 2.2.3字符输入输出程序设计 字符输入输出要运用DOS功能调用,DOS调用过程如下: (1)将DOS

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档