
搜索匹配的字符串
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
搜索匹配的字符串是一篇介绍如何在文本中查找特定字符序列的技术文章。它涵盖了多种编程语言中的实现方法和技巧,帮助开发者高效解决问题。
程序接收用户键入的一个关键字以及一个句子。如果句子中不包含关键字,则显示“no match”;如果句子中包含关键字,则显示“match”,并把该字在句子中的位置用十六进制数表示出来,要求程序的执行过程如下:
输入关键词:ab
输入句子:we are studying abc
输出结果:match at location :11H of the sentence
继续输入句子:xyz
输出结果:no match
终止程序: ^c
四、方法说明:
该程序可由三部分组成:
(1) 输入关键字和一个句子,分别存入相应的缓冲区中。
(2) 在句子中查找关键字。在进行比较时可以使用串比较指令,为此必须定义附加段(注意:附加段与数据段可以定义为同一段),以便于串指令的使用。这样,相关的寄存器内容就有了确定的意义:
- SI 寄存器用于指向关键字
- DI 寄存器用于指向句子中当前正在比较字段的位置
- CX 寄存器存放关键字的长度
整个句子和关键字进行比较的过程可以通过一个循环结构来完成。
循环次数为:(句子长度 - 关键字长度) + 1。在计算循环次数时,如果遇到句子长度小于关键字的情况,则应直接显示“no match”。此外,在这个过程中还需要用到BX寄存器,它用来保存当前正在被比较字段的首地址。
(3) 输出信息:
使用功能调用09h来分别处理找到和未找到两种情况,并输出相应信息。
如果找到了匹配项,需要进一步显示出该字符串在句子中的位置。此时,BX寄存器的内容为匹配字符序列的开始地址;将这个值减去句子首地址再加1即得到匹配字符串的位置,并将其转换成十六进制数显示出来。
全部评论 (0)


