Lunghezza dei caratteri della stringa

Scrivere un programma in assembly che conti e visualizzi il numero di caratteri di una sequenza di valori interi positivi. Infine, se la lunghezza della stringa è pari dovrà essere fornito il seguente messaggio "Lunghezza della stringa pari", altrimenti "lunghezza della stringa dispari".

#make_com#
org 100h
     
 leggi macro stringa
    lea dx,stringa
    mov ah,0ah
    int 21h
endm    
     
stampa macro messaggio
lea dx,messaggio
mov ah,09h
int 21h
endm

mov si,0
mov bl,0

leggi stringa

mov ax,0
mov al,stringa[1]
mov cx,ax

;inizio del ciclo per contare i caratteri

mov al,stringa[si]
conta:
inc si
inc bl
loop conta

mov ah,02h
mov dl,0ah
int 21h

add bl, '0'
stampa msg3
mov ah,02h
mov dl,bl
int 21h

mov ax, 0
mov al, bl
mov bl, 0
mov bl, 2
div bl
cmp ah, 0
je pari
jmp dispari

pari:
stampa acapo
stampa msg1
jmp fine

dispari:
stampa acapo
stampa msg2
jmp fine

fine:

mov ah, 4ch
int 21h

;definizione variabili
stringa db 10 dup'$'
msg1 db "Numeri di caratteri pari$"
msg2 db "Numeri di caratteri dispari$"
msg3 db 'il carattere e: $'
acapo db 13,10,'$'