当前位置:文档之家› 微机原理实验 查找匹配字符串

微机原理实验 查找匹配字符串

实验课程名称微机原理实验
实验项目名称查找匹配字符串
实验指导老师马光喜
学生姓名
学院理学院
专业电子信息科学与技术
年级2008级(一)班
学号
实验时间2010年12月26日
总成绩
用。
⑵进一步熟悉和掌握字符串指令的操作和使用。
⑶掌握常用DOS功能的调用方法。
2.实验内容
⑶SI :关键字的指针
DI:句子中的相比较的字段指针
CX:关键字的字符个数
BXDI
w
e
a
r
e
d
a
b
c
5、整个句子和关键字的比较过程可以用一个循环结构来完成,循环的次数为:
(句子的长度-关键字的长度)+1
在计算循环次数时,如遇到句子的长度小于关键字长度的情况则应该转向“No match!”.循环时需要用BX保存句子中的当前正在比较字段的首地址,BX、SI、DI的作用如上图所示
6、输出信息用9号调用显示“找到”或“未找到”。
找到的时候要求显示匹配字符串在句子中的位置,找到的时候BX为匹配字符串的首地址,将此值减去句子的首地址在加1就是匹配字符串在句子中的位置,可将该位置转换为16进制送屏幕显示。
查找匹配字符串的源程序如下:
编译源程序:
连接成目标文件:
运行程序检验程序设计的正确性:
⑴编程接收用户从键盘键入的一个关键字以及一个句子,如果句子中不包含关键字则显示‘No match!’,如果句子中含有关键字则显示‘Match!’,并把该字在句子中的位置用十六进制数显示出来。
3.实验准备
⑴熟悉堆栈指令定义、功能及应用。
⑵预习字符串指令使用。
4.实验步骤
实验2:查找匹配字符串
1、题目:查找匹配字符串
运行结果正确,实现了程序设计要求。
2、实验要求:编程接收用户从键盘键入的一个关键字以及一个句子,如果句子中不包含关键字则显示‘No match!’,如果句子中含有关键字则显示‘Match!’,并把该字在句子中的位置用十六进制数显示出来。
3、要求程序的执行过程如下:
Enter keyword : abc
Enter sentence:We are studying abc.
Match at iocation 11h of the sentence.
Enter sentence:xyz,ok?
No match.
Enter sentence:∧C-----退出
4、提示
⑴用0AH号功能调用键入关键字和句子分别存入各自的缓冲区。
⑵在句中查找关键字时关键字和句子中相应字段的比较可用串比较指令
相关主题