查找匹配字符串search

时间:2013-05-13 10:23:30
【文件属性】:
文件名称:查找匹配字符串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 即是所要的匹配字符串在句子中的位置,可将位置转换为十六进制数从屏幕上显示出来。

网友评论

  • 通俗易懂,运行顺利
  • 通俗易懂,我从中得到了很多启发啊!谢谢
  • 和我们的题目不太一样,但还是很有参考价值
  • 挺不错的,可以用用
  • 代码可以运行,但是没有注释呢。。
  • 可以运行,,适合初学者……!!
  • 运行的很好,如果要是加上一些属性,改变一下颜色就更好了。。。。
  • 代码通俗易通,适合新手参考
  • 代码写的真心不错,对我们这种初学者也很好理解
  • 顺利运行;值得学习!
  • 代码很清晰,运行很顺利,非常好
  • 在机器上运行了一下,非常好,可以顺利通过,并且代码也比较容易懂~