请帮忙看看错哪了?
DSEG SEGMENT
MESS0 DB "PLEASE INPUT THE LONG STRING:$"
MESS1 DB "PLEASE INPUT THE SHORT STRING:$"
MESS2 DB "RESULT:NOT FOUND!$"
MESS3 DB "RESULT:FOUND!$"
LONG DB 40
DB ?
DB 40 DUP(0)
SHOR DB 20
DB ?
DB 20 DUP(0)
DSEG ENDS
CSEG SEGMENT
ASSUME DS:DSEG,CS:CSEG
START: MOV AX,DSEG
MOV DS,AX
MOV DX,OFFSET MESS0
MOV AH,09H
INT 21H
MOV DX,OFFSET LONG
MOV AH,0AH
INT 21H
CALL NEWLINE
MOV DX,OFFSET MESS1
MOV AH,09H
INT 21H
MOV DX,OFFSET SHOR
MOV AH,0AH
INT 21H
CALL NEWLINE
MOV AX,DSEG
MOV ES,AX
MOV SI, OFFSET LONG+2
MOV BX,SI
ADD BX,[OFFSET LONG+1]-[OFFSET SHOR+1]+1
MOV DI, OFFSET SHOR+2
CLD
MATCH: XOR CH,CH
MOV CL,[OFFSET SHOR+1]
REPE CMPSB
JZ FOUND
INC SI
CMP SI,BX
JB MATCH
NFOUND: MOV DX,OFFSET MESS2
EXIT: MOV AH,9
INT 21H
MOV AX,4C00H
INT 21H
FOUND: MOV DX,OFFSET MESS3
JMP EXIT
NEWLINE PROC NEAR
MOV DL,0DH
MOV AH,2
INT 21H
MOV DL,0AH
MOV AH,2
INT 21H
RET
NEWLINE ENDP
CSEG ENDS
END START