DATAS SEGMENT
BUF DB 10H,?,10 DUP(?)
BUF1 DB 10H,?,10 DUP(?)
DATAS ENDS
CODES SEGMENT
ASSUME ES:DATAS,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
LEA DX,BUF
MOV AH,0AH
INT 21H
MOV DL,0AH
MOV AH,02H
INT 21H
MOV AX,DATAS
MOV DS,AX
LEA DX,BUF1
MOV AH,0AH
INT 21H
MOV DL,0AH
MOV AH,02H
INT 21H
MOV AX,DATAS
MOV ES,AX
LEA SI,BUF
LEA DI,BUF1
;比较字符串长度是否相等
MOV AL,ES:[SI+1]
MOV BL,DS:[DI+1]
CMP AL,BL
JNZ NO
;比较字符串的内容是否相等
CM:
INC SI
INC DI
MOV AL,ES:[SI]
MOV BL,DS:[DI]
CMP AL,BL
JNZ NO
LOOP CM
NO:
MOV DL,'N'
MOV AH,02H
INT 21H
MOV SI,AX
MOV AH,4CH
INT 21H
CODES ENDS
END START
为什么无论输入的字符串是否相同,输出的结果都是N?求解释,并帮忙改正一下上面的代码。