adesso però salva carattere per carattere dentro l'array.
per stampare un solo elemento come posso fare??
io ora faccio in modo di salvare, prima del nome, il numero di caratteri
quando lo leggo, metto questo numero di caratteri nel contatore e poi stampo i caratteri che seguono. può essere corretto?

codice:
		mov di, offset NameArray
		cld
		mov ax, ds
		mov es, ax
		mov bx, offset NUOVO_COGNOME
		mov si, offset NUOVO_COGNOME
		mov ch, 00h
		MOV CL, [BX+1]	 			;all'offset 1 dovrebbe essere contenuta la lunghezza della stringa
		add cl,1					; incremento di 1 per copiare anche il numero di caratteri
		add si, 1      				;all'offset 2 comincia la stringa ma copio anche l'offest 1 per sapere di qanti caratteri sarà la stringa dopo
		rep movsb
		
		mov ax, ds
		mov es, ax
		mov bx, offset NUOVO_NUMERO
		mov si, offset NUOVO_NUMERO
		mov ch, 00h
		MOV CL, [BX+1]	
		add cl,1
		add si, 1        
		rep movsb
		
		
		    LEA BX, NameArray				;memorizzazione dell'indirizzo della struttura in BX
			MOV CH, 00h
			
			MOV CL, [BX] 	    ;lettura del numero di caratteri da visualizzare
			MOV DI, 0000h						;inizializzazione dell'indice
CICLO5:
			MOV DL, [BX+DI+1]				;visualizzazione di un carattere,salto il numero
			MOV AH, 02h
			INT 21h
			INC DI							;incremento dell'indice
			LOOP CICLO5
			
			MOV	DX,OFFSET ACCAPO
		       CALL STAMPA_STRINGA
			
			
			CMP [di], '16'	;se c'è un numero minore di 16, ovvero c'è ancora qualcosa dopo
                        INC DI
			JB  ALTRO
			RET
			
	    ALTRO:	mov cl, [di]	                ;prendi il nuovo numero di caratteri
			LOOP CICLO5		;e stampali
			RET