i am just starting into assembly programming, i am currently trying to trace a program step by step to determine a value of a certain register for the particular line and unfortunately, i dont understand how it goes...

i am working on this code i found from somewhere, it says that it will display a message if i'll be able to provide or enter a correct password...
my concerns arre as follows:
the code is uncommented,and it is very hard for me to trace it as i want since i honestly dont understand yet...i want to learn but how can i go on if there is no one to lead on and show me some samples?i hope you all guys understand my situation..thank so much...and please do help me by commenting each line of the code below.i'll appreciate greatly if you'll do..of course,thank you so much for the time.more power!
------------------------------------------------------------------
.MODEL TINY
.CODE
ORG 100H
START:
JMP BEGIN
DATA1 DB 0A3H, 0A1H, 8FH, 0E9H, 8CH, 0ABH, 0DAH, 0A9H
DB 95H, 0BAH, 0DAH, 0A7H, 8EH, 0EEH, 88H, 0A7H
DATA2 DB 9DH, 0A6H, 8EH, 0EFH, 0DBH, 0EFH, 0DAH, 87H
DB 0DAH, 0A6H, 95H, 0BEH, 9FH, 0EEH, 83H, 0A1H
DATA3 DB 8FH, 0E9H, 96H, 0A2H, 0DAH, 0BEH, 9BH, 0BDH
DB 89H, 0EEH, 8EH, 0A6H, 9FH, 0EEH, 8EH, 0ABH
DATA4 DB 99H, 0A6H, 94H, 0A7H, 99H, 0AFH, 96H, 0EEH
DB 9FH, 0B6H, 9BH, 0A3H, 0D4H, 0E0H, 0D4H, 0EAH
DATA5 DB 15 DUP(24H)
DATA6 DB "Enter the password: $"
DATA7 DB "Don't push it...exciting...$"
BEGIN:
LEA DX, DATA6
MOV AH, 9
INT 21H
XOR SI, SI
INPUT:
MOV AH, 1
INT 21H
CMP AL, 0DH
JZ PROCESS
MOV BYTE PTR [DATA5 + SI], AL
INC SI
CMP SI, 0AH
JZ WHAT_THE
JMP INPUT
PROCESS:
CLD
LEA SI, DATA1
MOV DI, SI
LEA CX, DATA5
SUB CX, SI
SHR CX, 1
CONVERT:
LODSW
XOR AX, 0CEFAH
STOSW
LOOP CONVERT
MOV AL, 0
LEA BX, DATA5
SUB BX, 2
XLAT
MOV DL, AL
LEA SI, BYEBYE
SUB SI, 0BH
PUSH SI
MOV DI, SI
MOV CX, 000AH
DECODE:
LODSB
XOR AL, DL
STOSB
LOOP DECODE
MOV CX, 000AH
POP SI
LEA DI, DATA5
REPE CMPSB
JNE WHAT_THE
LEA DX, DATA1
MOV AH, 9
INT 21H
JMP BYEBYE
WHAT_THE:
LEA DX, DATA7
MOV AH,9
INT 21H
JMP BYEBYE
DB 64H, 41H, 46H, 40H, 0EH, 1DH, 14H, 1FH, 18H,0AH, 00H
BYEBYE:
MOV AX, 4C00H
INT 21H
END START
------------------------------------------------------------------


i am hoping to read more from you guys...