Salve a tutti non riesco a trovare l'errore in questo programma che dovrebbe prendere in input una stringa e sostituire il carattere da me scelto con degli 1
codice:
.MODEL TINY			; direttiva di segmento per il modello di memoria desiderato
.CODE
NULL EQU 0

ORG 100h
MAIN:
		jmp INIZIO                               ;salto area dati
		

ACAPO PROC
	mov ah,2
	mov dl,0ah
	int 21h
	mov dl,0dh
	int 21h
	ret
ENDP	
	
STAMPA PROC
STAMPA:
	mov ah,2
	mov dl,[bx]
	cmp dl,NULL
	je FINESTAMPA
	int 21h
	inc bx
	jmp STAMPA
FINESTAMPA:
	ret
endp
; AREA DATI
;///////////////////////////////////////
TITOLO DB "STRSUB DI XXX",0ah,0dh,0ah,0dh
STAMPASTRINGA1: DB "Immettere una stringa (max 20 caratteri): ",NULL
CARDAS: DB 0,NULL
STRINGA1: DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,NULL
INIZIO:
		lea bx,TITOLO
		call STAMPA
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>INPUT STRINGA DA MODIFICARE<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

INPUT:
		mov ah,1
		int 21h
		cmp al,0dh
		je FINEINPUT
		mov [bx],al
		inc bx
		jmp INPUT
FINEINPUT:
		call ACAPO
		
		
		
		lea bx,CARDAS
		mov ah,1
		int 21h
		mov [bx],al
		
		lea bx,STRINGA1
		lea si,CARDAS
S_SUB:
		mov ax,[bx]
		cmp ax,NULL
		je END_S_SUB
		cmp ax,[si]
		jne INCBX
		mov [bx],31h
		inc bx
		jmp S_SUB
INCBX:
		inc bx
		jmp S_SUB
END_S_SUB:	

		call ACAPO
		lea bx,STRINGA1
		call STAMPA
		int 20h
end MAIN
non so se inserisco mississipi e poi la s mi da in output mi1 invece di mi11i11ipi
grazie in anticipo