- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
统计字符串中某个字符出现次数
精品文档
精品文档
收集于网络,如有侵权请联系管理员删除
收集于网络,如有侵权请联系管理员删除
精品文档
收集于网络,如有侵权请联系管理员删除
目录
TOC \o "1-3" \h \z \u 摘要 1
1课程设计目的 2
2设计条件及要求 2
2.1程序设计条件 2
2.2程序设计要求 2
3总体方案论证 2
3.1总体方案思路 2
3.2方案注意事项 3
3.3具体方案论证 3
3.3.1方案一 3
3.3.2方案二 4
3.3.3方案论证 4
4流程图设计及说明 5
4.1流程图 5
4.2设计说明 5
5软件设计关键问题和相应程序段 6
5.1关键问题说明 6
5.2问题解决方法 6
5.3相应程序段 7
6程序调试 9
7结果记录及分析 10
8课程设计收获及心得体会 12
9参考文献 13
10附录 14
摘要
微机原理与接口技术作为计算机科学领域的基础知识,尽管计算机科学高速发展,但基本原理依然不变,即是遵循冯·诺依曼基本思想的。学习并能掌握好微机原理与接口技术这门知识是非常重要的,通过对这门知识的了解可以简单的编写一些日常中经典的控制程序。
本文通过汇编语言编写程序,完成统计字符串中某个字符出现次数这一基本功能。下面会介绍该程序的编程思路,并对程序设计中遇到的问题进行深入的研究。
关键字:微机 统计 编程
统计字符串中某个字符出现次数
汇编语言程序设计
1课程设计目的
通过本次课程设计,熟悉微机原理与接口技术的基本理论,使学生能够进一步了解微型计算机工作原理, 微型计算机的硬件结构及微型计算机软件编程,掌握使用汇编语言编写程序的方法,并进一步提高编程设计能力。
2设计条件及要求
本次《微机原理与接口技术》课程设计的题目为统计字符串中某个字符出现的次数,为汇编程序设计。
2.1程序设计条件
采用16位微处理器 8086 CPU以及86系列微型计算机的指令系统;
软件设计平台为多功能微型计算机实验软件MFS中的微机原理实验集成环境MF2KP。
2.2程序设计要求
设计汇编语言程序,实现统计字符串中某个字符出现次数的功能,具体功能要求如下:
(1)提示输入字符串;输入任意字符串string ,点击Enter结束输入;
(2)提示输入字符;输入任意字符ch,点击Enter 结束输入;
(3)输出字符串string 中字符ch的出现次数。点击Enter程序退出。
3总体方案论证
3.1总体方案思路
要使用汇编语言实现统计字符串中某个字符出现次数的功能,总体的思路为:取出字符串string中的字符,依次与字符ch进行比较,同时统计该字符与字符ch相同的次数,最后输出结果到屏幕
步骤大体分为以下几点:
从键盘输入字符串string,同时得到字符串中的字符总数,并保存在寄存器中;
从键盘输入查询字符ch,并保存在寄存器al中;
从寄存器中循环取出字符串string中的字符,依次与字符ch进行比较,并记录相同的次数,存入寄存器中;
从寄存器中取出结果,转换成字符输出到屏幕上。
3.2方案注意事项
根据程序设计要求,设计方案中需要注意的有以下几点:
提示语句。需要在屏幕上显示提示输入字符和字符串及输出结果的提示语句;
回车结束。需要在输入字符和字符串之后按Enter键才结束输入,输出结果后按Enter键才退出程序;
程序使用范围。需要考虑程序能处理的字符串的最大长度;
结果输出形式。由于在寄存器中存入的为二进制数,在输出的时候需要显示十进制的数;
结果输出转换。二进制数据从寄存器不能直接输出到屏幕上;
3.3具体方案论证
根据总体方案思路,程序的核心是取字符串中的字符与查询字符ch循环比较。
根据输出结果需要为十进制这一要求,以下有两种方案可以实现这一功能。
3.3.1方案一
方案一:将寄存器中的二进制数据转换成BCD码输出
具体步骤:
在进行字符比较的同时把统计结果存入寄存器中;
统计结束之后,取出统计结果,并判断是否需要转换成BCD码进行转换;
把结果转换成字符输出。
论证:
该方案有以下优点:
由于统计结果最大为254,只需要使用一个8位寄存器来存放数据,调用方便;
数据连续,占用储存空间小;
设计思路简单,简化程序的循环部分。
但该方案有以下缺点:
输出程序段复杂,需要外加判断子程序;
转换复杂,判断部分随着位数增多而变得复杂;
统计结果受限制。如果输出三位数,由于转换复杂,输出变得难以实现;
3.3.2方案二
方案二:将三位数的输出结果分离成三个0到9的字符逐个输出
具体步骤:
在统计次数的过程中限制统计结果中每位上的数不大于9
文档评论(0)