- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- 妊娠期哺乳期合理用药考核试题及答案(含抗菌药物).docx VIP
- 血液透析耗材业化建设环评报告.pdf VIP
- 《智能网联汽车高快速路测试技术规范》DB31T 1566-2025.docx VIP
- I如何设置WiFi密码才不会被WiFi万能钥匙破解.doc VIP
- 初中数学几何模型大全+经典题型(含答案).pdf VIP
- 静脉输液操作常见并发症的预防及处理规范.pdf VIP
- 虚拟仿真实验教学资源开发指南.pptx VIP
- 慢性肾功能不全护理查房.pptx VIP
- 2025年国培卫健、粤医云2月份基层护理培训项目考核答案(全).docx VIP
- 2025年宜昌市秭归县公开招聘5名社区专职工作人员 (网格员)笔试备考题库及答案解析.docx VIP
文档评论(0)