欢迎来到天天文库
浏览记录
ID:8499764
大小:173.00 KB
页数:13页
时间:2018-03-30
《查找匹配字符串程序设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、中北大学汇编语言程序设计课程设计说明书学生姓名:学号:学院:信息与通信工程学院专业:自动化题目:查找匹配字符串程序设计指导教师:沈小林安道新职称:副教授助教2011年6月25日中北大学汇编语言程序设计实验课程设计任务书10/11学年第二学期学院:信息与通信工程学院专业:自动化学生姓名:学号:课程设计题目:查找匹配字符串程序设计起迄日期:06月20日~06月25日课程设计地点:中北大学指导教师:沈小林安道新系主任:王忠庆下达任务书日期:2011年06月20日课程设计任务书1.设计目的:通过对任意字符串中是否有匹配字符串的检索,掌握分
2、支及循环程序设计及调试过程。2.设计内容和要求(包括原始数据、技术参数、条件、设计要求等):1、程序要求(1)由键盘输入一个长度不大于80个字符的字符串,回车键结束;(2)由键盘输入匹配任意字符串,以回车键结束;(3)检索上述字符串中是否含有匹配字符串,若有,屏幕显示“Matched”;否则显示“NotMatched”。2、设计内容(1)根据要求确定解决问题的编程方法;(2)画出模块层次图;(3)写出各模块说明;(4)按照要求调试程序,记录程序运行结果;(5)写出设计总结报告。设计报告主要内容包括:设计目的与要求、系统技术指标或设
3、计要求、程序设计方案、主要参考资料及心得体会等3.设计工作任务及工作量的要求〔包括课程设计计算说明书、图纸、实物样品等〕:设计总结;程序清单;程序框图;参考文献等。【注】装订时依照封面、任务书、设计总结顺序一起装订。课程设计任务书4.主要参考文献:l要求按国标GB7714—87《文后参考文献著录规则》书写,例:1傅承义,陈运泰,祁贵中.地球物理学基础.北京:科学出版社,1985参考资料不得少于10篇5.设计成果形式及要求:设计总结;程序清单(附注释);参考文献等。6.工作计划及进度:6月20日~6月21日6月22日~6月22日6月
4、23日~6月24日6月25日~6月25日调研、资料收集;设计方案确定,设计程序程序调试、程序必须调试通过。撰写总结、设计报告答辩系主任审查意见:签字:年月日一、绪论汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。汇编语言,作为一门语言,对应于高级语言的编译器,需要一个“汇编器”来把汇编语言原文件汇编成机器可执行的代码。高级的汇编器如MASM,TASM等等为我们写汇编程序提供了很多类似于高级语言的特征,比如结构化、抽象等。在这样的环境中编写的汇编程序,有很大一部分是面向汇编器的伪指令,已经类同
5、于高级语言。现在的汇编环境已经如此高级,即使全部用汇编语言来编写windows的应用程序也是可行的,但这不是汇编语言的长处。汇编语言的长处在于编写高效且需要对机器硬件精确控制的程序。二、程序设计目的及程序设计要求通过对任意字符串中是否有匹配字符串的检索,掌握分支及循环程序设计及调试过程。本次课程设计的任务是设计一个查找匹配字符串的程序,程序的具体功能是接收用户由键盘输入一个长度不大于80个字符的字符串,回车键结束;由键盘输入匹配任意字符串,以回车键结束;如果句子中不包含关键字则显示‘NOmatch!’;如果句子中包含关键字则显示‘
6、MATCH’,且把该字在句子中的位置用十六进制数显示出来。该程序实现的功能是查找匹配的字符串。在程序中用“EnterSentence:”表示输入一个长度不大于80个字符的字符串的提示符,即句子;“Enterkeyword:”表示输入匹配字符串的提示符,即关键字。三、程序模块图开始结束NYYY输入关键字关键字长度=0输入句子句子长度<关键字长度保存关键字长度到cx,cx入栈,保存总循环次数(句子长度-关键字长度+1)到al,将句子的首地址放进bx(作为基址寄存器)si=di=0(变址寄存器)开始比较[bx+di]与[si]是否相等s
7、i+1,di+1,cx-1(同时指向下一个字符)YNbx+1(句子指向下一个字符)cx出栈,再入栈,si,di清零,al-1cx是否为0N匹配完成,调用子程序输出al是否为0不匹配,输出四、程序清单DATASEGMENTmess1DB'Enterkeyword:','$'mess2DB'EnterSentence:','$'mess3DB'match','$'mess4DB'nomatch',13,10,'$'changeDB13,10,'$'stoknin1labelbytemax1db10act1db?stokn1db10du
8、p(?)stoknin2labelbytemax2db50act2db?stokn2db50dup(?)DATAENDSSTACKSSEGMENT;此处输入堆栈段代码STACKSENDSCODESEGMENT;*******************
此文档下载收益归作者所有