字符串匹配汇编语言程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号:
课程设计
题目字符串匹配汇编语言程序设计
学院自动化学院
班级电气1003班
姓名申廷进
指导教师徐腊梅
2013 年01 月17 日
课程设计任务书
学生姓名:申廷进专业班级:电气1003班
指导教师:徐腊梅工作单位:自动化学院
题目: 字符串匹配汇编语言程序设计
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)
1)根据提示信息,从字符输入两个字符串,实现两个字符串的比较,如
果两个字符串的字符只要有一个相同则显示“MATCH”,否则显示“NO
MATCH”。
2)可连续输入字符进行比较,直至单击“Q”或“q”键退出程序。
时间安排:
1.9 课设题目,设计内容;
1.9—1.10 查资料,算法、方案设计。
1.10—1.13 (硬)软件设计
1.14—1.15 调试程序
1.16—1.17 写课设报告
1.18 答辩
指导教师签名:年月日
系主任(或责任教师)签名:年月日
1 设计总体方案 (2)
1.1 设计目的 (2)
1.2 设计要求及其条件 (2)
1.3 设计方案 (2)
2 程序流程图分析 (3)
2.1 转移流程图的分析 (3)
2.2 流程图总体分析 (3)
3 程序段落的说明 (5)
3.1 换行回车键的定义 (5)
3.2 提示信息和字符串的定义 (5)
3.3 DOS功能和部分指令的说明 (6)
4 程序调试说明、结果记录与分析 (7)
4.1 程序调试说明 (7)
4.2 调试结果说明 (7)
4.3 分析结果 (9)
5心得体会 (9)
参考文献 (11)
附件 (12)
微型计算机简称微机,由于其具备人脑的某些功能,所以也称其为微电脑。是由大规模集成电路组成的、体积较小的电子计算机。它是以微处理器为基础,配以内存储器及输入输出接口电路和相应的辅助电路而构成的裸机。把微型计算机集成在一个芯片上即构成单片微型计算机。学习微机课程,主要内容包括微型计算机体系结构、8086微处理器和指令系统、汇编语言、设计以及微型计算机各个组成部分,而汇编语言是其中一大板块。
汇编语言编程不仅具有计算机提供给用户的最快而又最有效的语言的优势,也可以在不很了解计算机硬件的前提下使用它。在对于程序的空间和时间要求很高的场合,使用汇编语言是必不可少,甚至对于很多需要直接控制硬件的应用场合,用保护模式下的汇编语言编程也提供给了对硬件不了解的初学者一种方法。
关键词:微机汇编语言编程
字符串匹配汇编语言程序设计
1设计总体方案
1.1 设计目的
1)进一步建立微机系统的概念,加深对系统的理解和认识,培养学生应用微型计算机解决实际问题的能力;
2)进一步学习和掌握汇编语言程序的编写和应用的方法,通过较大规模程序的编写,提高编写汇编语言程序的水平和学习程序调试方法。
3)掌握提示信息的使用方法及键盘输入信息的用法。
1.2 设计要求及其条件
课程设计要求:
3)根据提示信息,从字符输入两个字符串,实现两个字符串的比较,如
果两个字符串的字符只要有一个相同则显示“MATCH”,否则显示“NO
MATCH”。
4)可连续输入字符进行比较,直至单击“Q”或“q”键退出程序。
设计初始条件:
1)采用16位微处理器 8086 CPU以及86系列微型计算机的指令系统。
2)软件设计平台可使用EMU8086软件。
1.3设计方案
本次课设主要是比较两个字符串中有没有相同的字符,如果有就显示“MATCH”,如果没有相同则显示“NO MATCH”。开始调用DOS的9号功能显示提示信息,格式是MOV DX,字符偏移地址,MOV AH,09H,INT 21H,然后调用DOS 的8号功能从键盘输入字符,格式是MOV AH,08H,INT 21H。本程序涉及到顺序、
转移等基本程序,最后程序编写好以后从键盘输入两个字符串然后可进行多次比较,直到按Q或q退出程序,我在网上搜索到一些资料跟着资料慢慢编写程序直到程序没有错误。
2 程序流程图分析
由方案设计分析可知,此次设计比较简单,先初始化程序,然后根据提示输入两个字符串,然后进行循环比较。在循环的过程中,当按下Q或q键时退出程序;当按下其它键时,程序继续运行。
流程图设计:当初始化后,根据提示输入两个字符串,若有输入判断是否为Q或q键,如果是则退出程序,程序结束,如果否则进行两字符串比较,过程比较明了,流程图分支不多,但功能能够很好的实现,流程图如图2-1所示。2.1转移流程图的分析
本流程图有三处转移,第一处是在初始化程序后面要判断退不退出程序,提示是如果你要退出就按Q或q,不退出就按任意键继续执行程序。如图2-2所示
图2-2 退出提示
另一处转移是判断两字符串是否有相等的字符,如果有则显示“MATCH”,如果不等且字符串1还没有比较完则转移到字符串偏移地址加1程序前继续执行程序,直到字符串1比较完成。
最后一处转移是判断字符串中的字符是否比较完了,如果比较完了则显示“NO MATCH”,如果没有比较完则转移到SI指向字符串的下一个字符继续执行程序直到字符串1的字符比较完。
2.2流程图总体分析
有图2-1流程图可以看出此流程图比较简洁,可以清楚的看出整个程序的运
行状况。
图2-1 信号流图