实验 字符串的比较
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验字符串的应用-字符串比较
实验目的:
1.掌握字符串程序的设计方法。
2.掌握字符串循环控制指令的用法。
3.掌握字符串操作指令的寻址方式及使用方法,编写常用的字符串处理程序。
实验内容:
编写程序,比较两个字符串“string1”和“string2”所含字符是否相同,若相同,则显示“match”,否则,显示“no match”。修改程序,比较两个字符串“string1”和“string1”所含字符是否相同,查看显示结果。
实验准备:
1.分析实验内容中程序应选用的字符串处理指令。
2.给出程序的分析、流程图。
3.编写完整的源程序,如下:
DA TA SEGMENT
stra db 'string1','$' ;定义源串
int1 db 'match','$'
int2 db 'no match','$' ;数据段代码
DA TA ENDS
EXTR SEGMENT
strb db 'string2','$' ;附加段代码,定义目标串
EXTR ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DA TA,ES:EXTR
START: MOV AX,DATA
MOV DS,AX
MOV AX,EXTR
MOV ES,AX
MOV SI,OFFSET stra
MOV DI,OFFSET strb
MOV CX,7 ;字符串中含有7个字符
CLD
REPZ CMPSB
JZ DIS2
MOV DX,OFFSET int2
MOV AH,09H
INT 21H
JMP STOP
DIS2: MOV DX,OFFSET int1
MOV AH,09H
INT 21H
STOP: MOV AH,4CH
INT 21H
CODE ENDS
END START
实验步骤:
1.用记事本,编写源程序,得到源文件“EXP9.asm”。
2.汇编、连接,产生可执行的文件,若有错误,分析错误的原因,修改,直至程序正确,运行程序。如图2-50所示。
图2-50 字符串不同时运行结果
3.修改附加段如下,保存文件。
EXTR SEGMENT
strb db 'string2','$' ;改变目标串
EXTR ENDS
4.再次汇编、连接,产生可执行的文件,若有错误,分析错误的原因,修改,直至程
序正确,运行程序。如图2-51所示。
图2-51 字符串相同时运行结果
结果分析:
1.两个字符串分别要在数据段和附加段中定义。
2.屏幕显示的字符串“match”或者“no match”在定义时要用“$”结束。