DATE SEGMENT
INF1 DB 0DH,0AH,'INPUT FIRST STRING:$'
INF2 DB 0DH,0AH,'INPUT SECOND STRING:$'
INF3 DB 0DH,0AH,'MATCH!$'
INF4 DB 0DH,0AH,'NO MATCH!$'
STR1 DB 81
DB ?
DB 80 DUP(0)
STR2 DB 81
DB ?
DB 80 DUP(0)
DATE ENDS
STACK SEGMENT STACK
DB 200 DUP(0)
STACK ENDS
CODE SEGMENT
ASSUME DS:DATE, SS:STACK, CS:CODE, ES:DATE
START:
MOV AX,DATE
MOV DS,AX
MOV ES,AX
LEA DX,INF1
MOV AH,09H
INT 21H
LEA DX,STR1
MOV AH,0AH
INT 21H
LEA DX,INF2
MOV AH,09H
INT 21H
LEA DX,STR2
MOV AH,0AH
INT 21H
MOV AL,[STR1+1]
CMP AL,[STR2+1]
JNZ J2
MOV CL,[STR1+1]
MOV CH,00H
LEA SI,STR1+2
LEA DI,STR2+2
CLD
REPZ CMPSB
JZ J2
LEA DX,INF4
JMP J3
J2:LEA DX,INF3
J3:MOV AH,09H
INT 21H
MOV AH,4CH
INT 21H
CODE ENDS
END START
总是显示MATCH!
------解决方案--------------------------------------------------------
MOV AL,[STR1+1]
CMP AL,[STR2+1]
JNZ J2 ; 这里转错地方了八