ciao, prima di tutto vorrei ringraziarti per la disponibilità e la pazienza che stai avendo...
ora vorrei chiederti alcune cose...ho modificato il sorgente in questo modo:

LETTURA_STRINGA PROC NEAR
MOV BX,00h
MOV CX,MAX_LUNGH ;inizializza il contatore caratteri

NUOVA_LETT: MOV AH,08h ;servizio DOS 'Read Keyboard Char
INT 21h ;Without Echo'
CMP AL,ENTER ;se il tasto è ENTER,
JZ FINE_LETTURA ;termina LA lettura
PUSH AX ;salva il registro AX
MOV AH,02h ;servizio DOS 'Character Output'
MOV DL,AL ;Carattere da stampare
INT 21h
POP AX ;ripristina il contenuto di AX
MOV [CODICE_TASTO+BX],AL ;Memorizza il tasto
INC BX ;Aggiorna il puntatore
LOOP NUOVA_LETT ;reitera fino a che CX=0

FINE_LETTURA: MOV [LUNGH_SEQU],BX
RET

LETTURA_STRINGA ENDP



STAMPA_BIN PROC NEAR
MOV DX,OFFSET BIN_MESS
CALL STAMPA_STRINGA

MOV BX,00h
MOV CX,[LUNGH_SEQU]
LEGGI_STRINGA: MOV AH,08h
INT 21h
MOV AL,[CODICE_TASTO+BX] ;LEGGE IL CODICE DEL TASTO
MOV DL,AL
INC BX
LOOP LEGGI_STRINGA
MOV DH,00h ;CONTATORE DI BITS
CICLO_BINARIO: XOR AL,AL
SHL DL,01h
ADC AL,AL
MOV [CONVERSIONE+BX],AL
INC BX
DEC DH
LOOP LEGGI_STRINGA

FINE_CICLO: CALL STAMPA_NUMERO



RET
STAMPA_BIN ENDP


io ho provato a modificare STAMPA_BIN in questo modo però ho dei seri dubbi di aver sbagliato, infatti il compilatore impazzisce e anche io con lui.... VVoVe:
Ah non riesco a capire xkè mi parli di scansionare 8 bit se la mia stringa deve avere al max 80 caratteri