主题:各位高手来解释下下面的语句吧
D SEGMENT 主程序标题
STRING1 DB 'Enter the first string(NUMBER<80):',0DH,0AH,'$'
STRING2 DB 0DH,0AH,'Enter the second string (NUMBER<80):',0DH,0AH,'$'
RESULT1 DB 0DH,0AH,'The two string are identical',0DH,0AH,'$'
RESULT2 DB 0DH,0AH,'The two string are not identical',0DH,0AH,'$'
IN1 DB 100
DB ?
DB 100 DUP (?)
IN2 DB 100
DB ?
DB 100 DUP (?)
D ENDS
OUTPUT MACRO DAT
MOV DX,OFFSET DAT
MOV AH,9
INT 21H
ENDM
CSEG SEGMENT
ASSUME CS:CSEG,DS:D
START:MOV AX,D
MOV DS,AX
OUTPUT STRING1
LEA DX,IN1
MOV AH,0AH
INT 21H
OUTPUT STRING2
LEA DX,IN2
MOV AH,0AH
INT 21H
LEA SI,IN1
LEA DI,IN2
INC SI
INC DI
MOV AH,[SI]
MOV AL,[DI]
CMP AH,AL
JNE NOTSAME
MOV CL,AL
INC SI
INC DI
AG: MOV AL,[SI]
MOV AH,[DI]
CMP AH,AL
JNE NOTSAME
INC SI
INC DI
LOOP AG
OUTPUT RESULT1
JMP EXTOUT
NOTSAME: OUTPUT RESULT2
EXTOUT: MOV AH, 4CH
INT 21H
CSEG ENDS
END START
STRING1 DB 'Enter the first string(NUMBER<80):',0DH,0AH,'$'
STRING2 DB 0DH,0AH,'Enter the second string (NUMBER<80):',0DH,0AH,'$'
RESULT1 DB 0DH,0AH,'The two string are identical',0DH,0AH,'$'
RESULT2 DB 0DH,0AH,'The two string are not identical',0DH,0AH,'$'
IN1 DB 100
DB ?
DB 100 DUP (?)
IN2 DB 100
DB ?
DB 100 DUP (?)
D ENDS
OUTPUT MACRO DAT
MOV DX,OFFSET DAT
MOV AH,9
INT 21H
ENDM
CSEG SEGMENT
ASSUME CS:CSEG,DS:D
START:MOV AX,D
MOV DS,AX
OUTPUT STRING1
LEA DX,IN1
MOV AH,0AH
INT 21H
OUTPUT STRING2
LEA DX,IN2
MOV AH,0AH
INT 21H
LEA SI,IN1
LEA DI,IN2
INC SI
INC DI
MOV AH,[SI]
MOV AL,[DI]
CMP AH,AL
JNE NOTSAME
MOV CL,AL
INC SI
INC DI
AG: MOV AL,[SI]
MOV AH,[DI]
CMP AH,AL
JNE NOTSAME
INC SI
INC DI
LOOP AG
OUTPUT RESULT1
JMP EXTOUT
NOTSAME: OUTPUT RESULT2
EXTOUT: MOV AH, 4CH
INT 21H
CSEG ENDS
END START