【文件属性】:
文件名称:查找匹配字符串search
文件大小:2KB
文件格式:ASM
更新时间:2013-05-13 10:23:30
查找 匹配 字符串
程序接收用户键入的一个关键字以及一个句子。如果句子中不包含关键字则显示’no match’;如果句子中包含关键字则显示‘match’,且把该字在句子中的位置用十六进制数显示出来,要求程序的执行过程如下:
enter keyword :abc
enter sentence :we are studying abc
match at location :11H of the sentence
enter sentence: xyz ,ok?
no match
enter sentence :^c
四. 方法说明:
程序可由三部分组成:
(1 ) 输入关键字和一个句子,分别存入相应的缓冲区中,可用功能调用0AH。
(2) 在句子中查找关键字。
1. 关键字和一个句子中相应字段的比较可使用串比较指令,为此必须定义附加段,但附加段和数据段可以定义为同一段,以便于串指令的使用,这样,相应的寄存器内容也有了确定的含义,如下:
SI 寄存器为关键字的指针
DI 寄存器为句子中正相比较的字段的指针
CX寄存器存放关键字的字母个数(长度)
2. 整个句子和关键字的比较过程可以用一个循环结构来完成。循环次数为:
(句子长度--关键字长度)+1在计算循环次数时,如遇到句子长度小于关键字长度的情况则应转向显示“no match”,循环中还需要用到BX寄存器,它用来保存句子中当前正在比较字段的首地址。
(3) 输出信息:
用功能调用09h分“找到”或“找不到”两种情况分别显示不同的信息。在“找到”时,还要求显示出匹配字符串在句子中的位置,在“找到”时BX寄存器的内容为匹配字符串的首地址,将此值减到句子的首地址,再将差值加1 即是所要的匹配字符串在句子中的位置,可将位置转换为十六进制数从屏幕上显示出来。
网友评论
- 通俗易懂,运行顺利
- 通俗易懂,我从中得到了很多启发啊!谢谢
- 和我们的题目不太一样,但还是很有参考价值
- 挺不错的,可以用用
- 代码可以运行,但是没有注释呢。。
- 可以运行,,适合初学者……!!
- 运行的很好,如果要是加上一些属性,改变一下颜色就更好了。。。。
- 代码通俗易通,适合新手参考
- 代码写的真心不错,对我们这种初学者也很好理解
- 顺利运行;值得学习!
- 代码很清晰,运行很顺利,非常好
- 在机器上运行了一下,非常好,可以顺利通过,并且代码也比较容易懂~