Character Counter in assembly

Okay so I working on this program where I have to input a string and then display the character distribution in that string.

For example:
if the input is “minecode” the output should be

C – 1

O – 1

D – 1

E – 2

I – 1

M – 1

N – 1

here is what I tried to do but I really don't know how to traverse the loop and check for similar character and then increment the count. Please help me out! The assenbler is MASM 6.15 running on 32 bit machine.

Uses the letter as an index into an array of 26 bytes which
represents one of the 26 letters of the english alphabet.
'A'=65 - 65 =0, index 0 into the array, the array's first byte represents
the character A and whenever 'A' is encountered the byte at
index 0 is incremented by one.

JMP get_char_frequency
countlist RESB 26 ; there should be control transfer
; (jump) instructions around this
get_char_frequency:
XOR EBX,EBX ; initialize registers to zero
XOR EAX,EAX
XOR EDX,EDX
l1:
MOV AL,[ESI+EBX] ; ESI+EBX points to character in string
SUB EAX,65 ;so that A=0, B=1 etc ; ASCI value is turned into
; index
MOV DL,[countlist+EAX] ; use EAX as index into array
; and copy the byte into DL
INC DL ; increment DL by one
MOV [countlist+EAX],DL ; store back into the array
INC EBX ; increment index by one to get to next character
; in the string
LOOP l1
... ; do whatever

'hello' would set the bytes within countlist to:
a,b,c,d,e,f,g,h,i,j,k,l,m,n,o
0,0,0,0,1,0,0,0,0,0,0,2,0,0,1