您的位置:首页 > 其它

从键盘输入两个字符串,如果相等,输出match,否则输出no match。

2016-03-30 18:47 344 查看
DATAS SEGMENT ;此处输入数据段代码
INFO1   DB   0DH,0AH,'INPUT  STRING:$'
INFO2   DB   0DH,0AH,'MATCH! $'
INFO3   DB   0DH,0AH,'NO MATCH! $'
BUFA    DB   21
DB   ?
DB   20 DUP(0)
BUFB    DB   21
DB   ?
DB   20 DUP(0)
DATAS ENDS

STACKS SEGMENT
DW 100 DUP(?) ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV  AX,DATAS
MOV  DS,AX

LEA  DX,INFO1
MOV  AH,09H
INT  21H       ;显示字符串INF01中的内容
LEA  DX,BUFA   ;输入第一个字符串到BUFA
MOV  AH,0AH
INT  21H

LEA  DX,INFO1
MOV  AH,09H
INT  21H       ;显示字符串INF01中的内容
LEA  DX,BUFB   ;输入第二个字符串BUFB
MOV  AH,0AH
INT  21H

LEA SI,BUFA+2
PUSH DS
POP ES
LEA DI,BUFB+2
MOV CX,0
MOV CL,BUFA+1
CLD
REPE CMPSB
JNZ NOMATCH           ;不相等时跳出,ZF=0
LEA DX,INFO2
MOV AH,09H
INT 21H
JMP NEXT
NOMATCH:
LEA DX,INFO3
MOV AH,09H
INT 21H
NEXT:MOV AX,4C00H
INT 21H
CODES ENDS
END START
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: