下载此文档

汇编语言查找匹配字符串.doc


文档分类:IT计算机 | 页数:约6页 举报非法文档有奖
1/6
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/6 下载此文档
文档列表 文档介绍
一、目的查找匹配字符串SEARCH二、实验内容程序接收用户键入的一个关键字以及一个句子。如果句子中不包含关键字则显示‘NOmatch!’;如果句子中包含关键字则显示‘MATCH’,且把该字在句子中的位置用十六进制数显示出来。流程图NYYY输入关键字结束关键字长度=0输入句子句子长度<关键字长度Y保存关键字长度到cx,cx入栈,保存总循环次数(句子长度-关键字长度+1)到al,将句子的首地址放进bx(作为基址寄存器)si=di=0(变址寄存器)开始比较[bx+di]与[si]是否相等si+1,di+1,cx-1(同时指向下一个字符)YNbx+1(句子指向下一个字符)cx出栈,再入栈,si,di清零,al-1cx是否为0N匹配完成,调用子程序输出al是否为0不匹配,输出开始三、设计和编码DATASEGMENTmess1DB'Enterkeyword:','$'mess2DB'EnterSentence:','$'mess3DB'Matchatlocation:','$'mess4DB'NOTMATCH.',13,10,'$'mess5DB'Hifthesentence',13,10,'$'changeDB13,10,'$'stoknin1labelbytemax1db10act1db?stokn1db10dup(?)stoknin2labelbytemax2db50act2db?stokn2db50dup(?)DATAENDSSTACKSSEGMENT;此处输入堆栈段代码STACKSENDSCODESEGMENT;*************************************代码段mainprocfarassumecs:code,ds:data,es:dataSTART:pushdssubAX,AXsubBX,BXsubDI,DIsubSI,SIpushAX;为返回dos并清空后面要用到的寄存器MOVAX,DATAMOVDS,AXLEADX,mess1MOVah,09INT21h;输出EnterkeywordLEADX,stoknin1MOVah,0ah;用21号中段的0ah号功能获取关键字INT21hcmpact1,0jeexit;如果为空直接退出程序a10:;********************************输入Sentence并判断LEADX,changeMOVah,09INT21h;输出回程,换行LEADX,mess2MOVah,09INT21h;输出EnterSentence:LEADX,stoknin2MOVah,0ahINT21h;用21号中段的0ah号功能获取句子MOVAL,act1CBWMOVCX,AX;保存关键字长度到cxPUSHCX;cx入栈MOVAL,act2cmpAL,0jea50;保存句子长度到al,若句子为空则跳转显示notmatchSUBAL,act1jsa50;若句子长度小于关键字长度,则跳转显示notmatchINCALCBWLEABX,stokn2;将句子的首地址放进BXMOVDI,0MOVSI,0a20:;****************************************比较,内循环MOVAH,[BX+DI]CMPAH,stokn1[SI];X;没遇到一个相等的字符,cx-1

汇编语言查找匹配字符串 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数6
  • 收藏数0 收藏
  • 顶次数0
  • 上传人ffy51856fy
  • 文件大小43 KB
  • 时间2019-06-01
最近更新