第一个知道,第二个不太清楚第一个用repne cmpsb去做比较,在串处理里面讲过,代码如下
DSEGSEGMENT
STRING1DB
4 DUP(?)
STRING2DB
4 DUP(?)
YESDB
'MATCH'
LENGTH1EQU
$-YES
NODB
'NO MATCH'
LENGTH2EQU
$-NO
DSEGENDS
CODESEGMENT
ASSUME
CS:CODE,DS:DSEG,ES:DSEG
START:MOV
AX,DSEG
MOV
DS,AX
MOV
ES,AX
MOV
CX,4
MOV
DI,0
MESSA:MOV
AH,01H
INT
21H
MOV
STRING1[DI],AL
INC
DI
LOOP
MESSA
;输入STRING1
MOV
AH,02H
MOV
DL,0AH
INT
21H
;换行
MOV
CX,4
MOV
DI,0
MESSB:MOV
AH,01H
INT
21H
MOV
STRING2[DI],AL
INC
DI
LOOP
MESSB
;输入STRING2
MOV
AH,02H
MOV
DL,0AH
INT
21H
;换行
LEA
SI,STRING1
LEA
DI,STRING2
MOV
CX,4
CLD
REPE
CMPSB
;比较
JNZ
NO1
MOV
CX,LENGTH1
MOV
DI,0
YES1:MOV
AH,02H
MOV
DL,YES[DI]
INT
21H
INC
DI
LOOP
YES1
MOV
AH,4CH
INT
21H
;相同输出MATCH
NO1:MOV
CX,LENGTH2
MOV
DI,0
A:MOV
AH,02H
MOV
DL,NO[DI]
INT
21H
INC
DI
LOOP
A
;不同输出NO MATCH
MOV
AH,4CH
INT
21H
CODEENDS
END
START
|