diff --git a/U3L5/U3L5ES01.ASM b/U3L5/U3L5ES01.ASM
index 2d7d5986cf373e9be8f67801baa34946253f577d..1cc2d23b453ecc17be80352fb0dd2eb450fe0d22 100644
--- a/U3L5/U3L5ES01.ASM
+++ b/U3L5/U3L5ES01.ASM
@@ -14,48 +14,48 @@ TITLE Esercizio n. 1 pag. 155
 .MODEL SMALL
 
 .DATA
-	TERMINATORE		EQU		'@'
-	IND_INIZIALE	EQU		0300h
-	
+    TERMINATORE     EQU        '@'
+    IND_INIZIALE    EQU        0300h
+    
 
 .CODE
-	.STARTUP
-	; Inserimento di alcuni dati di test a partire dall'indirizzo indicato
-	MOV	BX, IND_INIZIALE
-	MOV BYTE PTR [BX],   010h
-	MOV BYTE PTR [BX+1], 0
-	MOV BYTE PTR [BX+2], 015h
-	MOV BYTE PTR [BX+3], 020h
-	MOV BYTE PTR [BX+4], TERMINATORE
-	
+    .STARTUP
+    ; Inserimento di alcuni dati di test a partire dall'indirizzo indicato
+    MOV BX, IND_INIZIALE
+    MOV BYTE PTR [BX],   010h
+    MOV BYTE PTR [BX+1], 0
+    MOV BYTE PTR [BX+2], 015h
+    MOV BYTE PTR [BX+3], 020h
+    MOV BYTE PTR [BX+4], TERMINATORE
+    
 LEGGI_CELLA:
-	MOV AL, [BX]		; Copia la cella di memoria puntata da BX nel registro AL
-	CMP	AL, TERMINATORE
-	JE	FINE			; Se AL = '@', il programma deve terminare
-	CMP	AL, 0
-	JE	SUCCESSIVO  	; Nessuna modifica se il valore del registro è zero
+    MOV AL, [BX]        ; Copia la cella di memoria puntata da BX nel registro AL
+    CMP AL, TERMINATORE
+    JE  FINE            ; Se AL = '@', il programma deve terminare
+    CMP AL, 0
+    JE  SUCCESSIVO      ; Nessuna modifica se il valore del registro è zero
 
-	; Per sapere se un numero sia pari o dispari, e' sufficiente controllare il
-	; suo bit lsb: se questo bit è 0, il numero e' pari, altrimenti e' dispari.
-	; L'istruzione TEST BX, 1, tramite un'operazione interna di AND, imposta il 
-	; flag ZF a 0 se il bit lsb di BX e' zero, lo imposta a 1 se lsb è uno. 	
-	
-	TEST BX, 1
-	JZ	PARI
-	
-	; L'indirizzo e' dispari, occorre incrementare il registro e memorizzarlo nella cella
-	INC	AL
-	MOV [BX], AL
-	JMP SUCCESSIVO
-	
+    ; Per sapere se un numero sia pari o dispari, e' sufficiente controllare il
+    ; suo bit lsb: se questo bit è 0, il numero e' pari, altrimenti e' dispari.
+    ; L'istruzione TEST BX, 1, tramite un'operazione interna di AND, imposta il 
+    ; flag ZF a 0 se il bit lsb di BX e' zero, lo imposta a 1 se lsb è uno.     
+    
+    TEST BX, 1
+    JZ  PARI
+    
+    ; L'indirizzo e' dispari, occorre incrementare il registro e memorizzarlo nella cella
+    INC AL
+    MOV [BX], AL
+    JMP SUCCESSIVO
+    
 PARI:
-	; L'indirizzo e' pari, si decrementa il valore
-	DEC	AL
-	MOV [BX], AL
-	
+    ; L'indirizzo e' pari, si decrementa il valore
+    DEC AL
+    MOV [BX], AL
+    
 SUCCESSIVO:
-	INC BX				; BX punta ora alla cella successiva
-	JMP LEGGI_CELLA
+    INC BX                ; BX punta ora alla cella successiva
+    JMP LEGGI_CELLA
 FINE:
-	.EXIT
+    .EXIT
 END
diff --git a/U3L5/U3L5ES02.ASM b/U3L5/U3L5ES02.ASM
index c8663dad25c926b6fd944b2f4923ffb07e6ec442..dfbfbc7dbcba5d21ec1b94d094d2055f236d28b1 100644
--- a/U3L5/U3L5ES02.ASM
+++ b/U3L5/U3L5ES02.ASM
@@ -14,43 +14,43 @@ TITLE Esercizio n. 2 pag. 155
 
 .STACK
 .DATA
-	NUM_CELLE		EQU		20
-	IND_INIZIALE	EQU		0100h
-	MINIMO			EQU     020h
-	MASSIMO         EQU     0A0h
-	
-	; Inizializzazione di un buffer di 20 celle
-	
-	BUFFER			DB	010h, 020h, 030h, 040h, 050h
-	                DB  060h, 070h, 080h, 090h, 0A0h
-					DB  0B0h, 0C0h, 0D0h, 0E0h, 0F0h
-					DB  011h, 021h, 031h, 0A1h, 0B1h
-	
+    NUM_CELLE       EQU     20
+    IND_INIZIALE    EQU     0100h
+    MINIMO          EQU     020h
+    MASSIMO         EQU     0A0h
+    
+    ; Inizializzazione di un buffer di 20 celle
+    
+    BUFFER          DB    010h, 020h, 030h, 040h, 050h
+                    DB  060h, 070h, 080h, 090h, 0A0h
+                    DB  0B0h, 0C0h, 0D0h, 0E0h, 0F0h
+                    DB  011h, 021h, 031h, 0A1h, 0B1h
+    
 .CODE
-	.STARTUP
-	MOV	BX, IND_INIZIALE ; Indirizzo in cui trasferire il contenuto del buffer
-	MOV	CX, NUM_CELLE	 ; Contatore di celle da elaborare
-	MOV SI, 0
-	
+    .STARTUP
+    MOV BX, IND_INIZIALE ; Indirizzo in cui trasferire il contenuto del buffer
+    MOV CX, NUM_CELLE     ; Contatore di celle da elaborare
+    MOV SI, 0
+    
 LEGGI_CELLA:
-	MOV AL, BUFFER + SI
-	CMP	AL, MINIMO
-	JB  TRASFERIMENTO	; Se AL è minore del valore minimo, lo si trasferisce in memoria
-	CMP	AL, MASSIMO
-	JA  TRASFERIMENTO   ; e anche se AL è maggiore del valore massimo
-	
-	; Il valore del registro non soddisfa i requisiti del problema, non si procede al 
-	; trasferimento in memoria e si passa al dato successivo
-	JMP SUCCESSIVO
-	
+    MOV AL, BUFFER + SI
+    CMP AL, MINIMO
+    JB  TRASFERIMENTO    ; Se AL è minore del valore minimo, lo si trasferisce in memoria
+    CMP AL, MASSIMO
+    JA  TRASFERIMENTO   ; e anche se AL è maggiore del valore massimo
+    
+    ; Il valore del registro non soddisfa i requisiti del problema, non si procede al 
+    ; trasferimento in memoria e si passa al dato successivo
+    JMP SUCCESSIVO
+    
 TRASFERIMENTO:
-	MOV [BX], AL
-	INC BX
+    MOV [BX], AL
+    INC BX
 
 SUCCESSIVO:
-	INC	SI
-	DEC CX
-	JNZ LEGGI_CELLA
+    INC SI
+    DEC CX
+    JNZ LEGGI_CELLA
 FINE:
-	.EXIT
+    .EXIT
 END
diff --git a/U3L5/U3L5ES03.ASM b/U3L5/U3L5ES03.ASM
index be972b496c56b717adb2b132955ac7b2d84d333b..810b337250ba8e2485e831554bc144d71b55e5b4 100644
--- a/U3L5/U3L5ES03.ASM
+++ b/U3L5/U3L5ES03.ASM
@@ -15,38 +15,38 @@ TITLE Esercizio n. 3 pag. 155
 
 .STACK
 .DATA
-	NUM_CELLE		EQU		10
-	IND_INIZIALE	EQU		0100h
-	MINIMO			EQU     0D000h
-	MASSIMO         EQU     0F000h
-	
-	; Inizializzazione di un buffer di 10 word
-	
-	BUFFER			DW	01000h, 04000h, 08000h, 0B000h, 0D000h
-	                DW	0E000h, 0F000h, 0FFFFh, 00000h, 0D001h
-	
+    NUM_CELLE       EQU   10
+    IND_INIZIALE    EQU   0100h
+    MINIMO          EQU   0D000h
+    MASSIMO         EQU   0F000h
+    
+    ; Inizializzazione di un buffer di 10 word
+    
+    BUFFER          DW    01000h, 04000h, 08000h, 0B000h, 0D000h
+                    DW    0E000h, 0F000h, 0FFFFh, 00000h, 0D001h
+    
 .CODE
-	.STARTUP
-	MOV	BX, IND_INIZIALE ; Indirizzo in cui trasferire il contenuto del buffer
-	MOV	CX, NUM_CELLE	 ; Contatore di celle da elaborare
-	MOV SI, 0
-	
+    .STARTUP
+    MOV BX, IND_INIZIALE  ; Indirizzo in cui trasferire il contenuto del buffer
+    MOV CX, NUM_CELLE     ; Contatore di celle da elaborare
+    MOV SI, 0
+    
 LEGGI_CELLA:
-	MOV AX, BUFFER + SI
-	CMP	AX, MINIMO
-	JB  SUCCESSIVO	    ; Se AX è minore del valore minimo, si passa al valore successivo
-	CMP	AX, MASSIMO
-	JA  SUCCESSIVO      ; e anche se AX è maggiore del valore massimo
-	
-	; Il valore del registro soddisfa i requisiti del problema, si procede al 
-	; trasferimento in memoria e si passa al dato successivo
-	MOV [BX], AX
-	ADD BX, 2
+    MOV AX, BUFFER + SI
+    CMP AX, MINIMO
+    JB  SUCCESSIVO        ; Se AX è minore del valore minimo, si passa al valore successivo
+    CMP AX, MASSIMO
+    JA  SUCCESSIVO        ; e anche se AX è maggiore del valore massimo
+    
+    ; Il valore del registro soddisfa i requisiti del problema, si procede al 
+    ; trasferimento in memoria e si passa al dato successivo
+    MOV [BX], AX
+    ADD BX, 2
 
 SUCCESSIVO:
-	ADD	SI, 2
-	DEC CX
-	JNZ LEGGI_CELLA
+    ADD SI, 2
+    DEC CX
+    JNZ LEGGI_CELLA
 FINE:
-	.EXIT
+    .EXIT
 END
diff --git a/U3L5/U3L5ES04.ASM b/U3L5/U3L5ES04.ASM
index a1520aa8d39d6e72241641c83fc1ff7c1a12fc32..c8e2d8a79c39c6e2f7e3d7b3fe0ed6f494f61667 100644
--- a/U3L5/U3L5ES04.ASM
+++ b/U3L5/U3L5ES04.ASM
@@ -17,48 +17,48 @@ TITLE Esercizio n. 4 pag. 155
 
 .STACK
 .DATA
-	NUM_CELLE		EQU		5
-	IND_INIZIALE	EQU		0100h
-	
+    NUM_CELLE       EQU     5
+    IND_INIZIALE    EQU     0100h
+    
 .CODE
-	.STARTUP
-	; Inizializzazione di quattro word senza segno in memoria a partire dall'indirizzo indicato
-	MOV	BX, IND_INIZIALE
-	MOV WORD PTR [BX],   0A00h
-	MOV WORD PTR [BX+2], 0FFF0h
-	MOV WORD PTR [BX+4], 04CA0h
-	MOV WORD PTR [BX+6], 0FFFFh
-	MOV WORD PTR [BX+8], 0ABCDh
-	; Memorizzazione del numero di word da elaborare 
-	MOV BYTE PTR [BX-1], NUM_CELLE
-	
-	; Acquisizione del numero di celle da elaborare
-	MOV BX, IND_INIZIALE
-	MOV CL, [BX-1]
-	
+    .STARTUP
+    ; Inizializzazione di quattro word senza segno in memoria a partire dall'indirizzo indicato
+    MOV BX, IND_INIZIALE
+    MOV WORD PTR [BX],   0A00h
+    MOV WORD PTR [BX+2], 0FFF0h
+    MOV WORD PTR [BX+4], 04CA0h
+    MOV WORD PTR [BX+6], 0FFFFh
+    MOV WORD PTR [BX+8], 0ABCDh
+    ; Memorizzazione del numero di word da elaborare 
+    MOV BYTE PTR [BX-1], NUM_CELLE
+    
+    ; Acquisizione del numero di celle da elaborare
+    MOV BX, IND_INIZIALE
+    MOV CL, [BX-1]
+    
 INIZIO:
-	CMP CL, 0
-	JE	FINE
-	; Riconoscimento dell'indirizzo multiplo di tre
-	MOV AX, BX		  ; Caricamento dell'indirizzo da analizzare in AX
-	MOV DL, 3
-	DIV DL            ; Divide AX per DL -> Quoziente in AL, Resto in AH
-	CMP AH, 0
-	JE  MULTIPLO3
-	; L'indirizzo non e' multiplo di 3, si azzera la word
-	MOV WORD PTR [BX], 0
-	JMP SUCCESSIVO
-	
+    CMP CL, 0
+    JE  FINE
+    ; Riconoscimento dell'indirizzo multiplo di tre
+    MOV AX, BX          ; Caricamento dell'indirizzo da analizzare in AX
+    MOV DL, 3
+    DIV DL            ; Divide AX per DL -> Quoziente in AL, Resto in AH
+    CMP AH, 0
+    JE  MULTIPLO3
+    ; L'indirizzo non e' multiplo di 3, si azzera la word
+    MOV WORD PTR [BX], 0
+    JMP SUCCESSIVO
+    
 MULTIPLO3:
-	MOV	AX, [BX]	; Carica la word puntata da BX nel registro AX
-	ADD AX, 020h    ; Addizione con operandi considerati senza segno
-	JC  SUCCESSIVO	; Se l'addizione produce un riporto, la cella non deve essere modificata
-	MOV [BX], AX    ; Aggiornamento della word in memoria
+    MOV AX, [BX]    ; Carica la word puntata da BX nel registro AX
+    ADD AX, 020h    ; Addizione con operandi considerati senza segno
+    JC  SUCCESSIVO  ; Se l'addizione produce un riporto, la cella non deve essere modificata
+    MOV [BX], AX    ; Aggiornamento della word in memoria
 
 SUCCESSIVO:
-	ADD	BX, 2		; Spostiamo il puntatore alla word successiva
-	DEC CL	        ; Decrementiamo il contatore di word da elaborare
-	JMP INIZIO
+    ADD BX, 2        ; Spostiamo il puntatore alla word successiva
+    DEC CL           ; Decrementiamo il contatore di word da elaborare
+    JMP INIZIO
 FINE:
-	.EXIT
+    .EXIT
 END
diff --git a/U3L5/U3L5ES08.ASM b/U3L5/U3L5ES08.ASM
index 9206576a9ee7d1031de01d8dd5b7d3870dbfb44e..3f49e6821849e25869391dbae414086b29526691 100644
--- a/U3L5/U3L5ES08.ASM
+++ b/U3L5/U3L5ES08.ASM
@@ -14,45 +14,44 @@ TITLE Esercizio n. 8 pag. 155
 
 .STACK
 .DATA
-	NUM_CELLE		EQU		10
-	IND_INIZIALE	EQU		0100h
-	
+    NUM_CELLE       EQU      10
+    IND_INIZIALE    EQU      0100h
+    
 .CODE
-	.STARTUP
-	; Inizializzazione dell'area di memoria (numeri interi segna segno)
-	MOV	BX, IND_INIZIALE
-	MOV BYTE PTR [BX],   010h
-	MOV BYTE PTR [BX+1], 020h
-	MOV BYTE PTR [BX+2], 030h
-	MOV BYTE PTR [BX+3], 040h
-	MOV BYTE PTR [BX+4], 011h
-	MOV BYTE PTR [BX+5], 021h
-	MOV BYTE PTR [BX+6], 031h
-	MOV BYTE PTR [BX+7], 041h
-	MOV BYTE PTR [BX+8], 012h
-	MOV BYTE PTR [BX+9], 022h
-
-	
-	MOV BX, IND_INIZIALE
-	MOV CX, NUM_CELLE
-	MOV DL, 0               ; Contiene il valore massimo temporaneo
-	
+    .STARTUP
+    ; Inizializzazione dell'area di memoria (numeri interi segna segno)
+    MOV BX, IND_INIZIALE
+    MOV BYTE PTR [BX],   010h
+    MOV BYTE PTR [BX+1], 020h
+    MOV BYTE PTR [BX+2], 030h
+    MOV BYTE PTR [BX+3], 040h
+    MOV BYTE PTR [BX+4], 011h
+    MOV BYTE PTR [BX+5], 021h
+    MOV BYTE PTR [BX+6], 031h
+    MOV BYTE PTR [BX+7], 041h
+    MOV BYTE PTR [BX+8], 012h
+    MOV BYTE PTR [BX+9], 022h
+    
+    MOV BX, IND_INIZIALE
+    MOV CX, NUM_CELLE
+    MOV DL, 0             ; Contiene il valore massimo temporaneo
+    
 LEGGI_CELLA:
-	MOV AL, [BX]		  ; Caricamento del byte da analizzare in AL
-	CMP AL, DL            ; Confronto con il massimo temporaneo
-	JBE SUCCESSIVO        ; Se AL non è piu' grande di DL, si passa al dato successivo
-	
-	; In AL e' presente un nuovo massimo temporaneo, si aggiorna DL
-	MOV DL, AL
+    MOV AL, [BX]          ; Caricamento del byte da analizzare in AL
+    CMP AL, DL            ; Confronto con il massimo temporaneo
+    JBE SUCCESSIVO        ; Se AL non è piu' grande di DL, si passa al dato successivo
+    
+    ; In AL e' presente un nuovo massimo temporaneo, si aggiorna DL
+    MOV DL, AL
 
 SUCCESSIVO:
-	INC	BX		    ; Passaggio alla cella successiva
-	DEC CX	        
-	JNE LEGGI_CELLA
-	
+    INC BX                ; Passaggio alla cella successiva
+    DEC CX            
+    JNE LEGGI_CELLA
+    
 FINE:
     ; Prima di finire, si memorizza il valore massimo nella cella 010Ah
-	; Si noti che, alla fine del ciclo, questo indirizzo e' gia' contenuto in BX
-	MOV [BX], DL
-	.EXIT
+    ; Si noti che, alla fine del ciclo, questo indirizzo e' gia' contenuto in BX
+    MOV [BX], DL
+    .EXIT
 END
diff --git a/U3L5/U3L5ES18.ASM b/U3L5/U3L5ES18.ASM
index 154080411917baed0ab9b8a1aa079ad41498dbc1..7ed7b66aa71c70c73a25c8c4198c5f5f63db674e 100644
--- a/U3L5/U3L5ES18.ASM
+++ b/U3L5/U3L5ES18.ASM
@@ -16,49 +16,50 @@ TITLE Esercizio n. 18 pag. 155
 
 .STACK
 .DATA
-	IND_INIZIALE	EQU		0100h
-	
+    IND_INIZIALE    EQU        0100h
+    
 .CODE
-	.STARTUP
-	; Il risultato dell'elaborazione sara' memorizzato nel registro DL secondo
-	; la seguente convezione: 
-	;     DL = 0 -> stringa non palindroma
-	;     DL = 1 -> stringa palindroma
-	MOV DL, 0    ; All'inizio si suppone che la stringa non sia palindroma
-	
-	; Copia la stringa nell'area di memoria a partire dall'indirizzo indicato
-	MOV	BX, IND_INIZIALE
-	MOV BYTE PTR [BX],   'o'
-	MOV BYTE PTR [BX+1], 'r'
-	MOV BYTE PTR [BX+2], 't'
-	MOV BYTE PTR [BX+3], 'o'
-	MOV BYTE PTR [BX+4], '$'
+    .STARTUP
+    ; Il risultato dell'elaborazione sara' memorizzato nel registro DL secondo
+    ; la seguente convezione: 
+    ;     DL = 0 -> stringa non palindroma
+    ;     DL = 1 -> stringa palindroma
+    
+    MOV DL, 0      ; All'inizio si suppone che la stringa non sia palindroma
+    
+    ; Copia la stringa nell'area di memoria a partire dall'indirizzo indicato
+    MOV BX, IND_INIZIALE
+    MOV BYTE PTR [BX],   'o'
+    MOV BYTE PTR [BX+1], 'r'
+    MOV BYTE PTR [BX+2], 't'
+    MOV BYTE PTR [BX+3], 'o'
+    MOV BYTE PTR [BX+4], '$'
 
-	; Posizionamento del registro indice DI sull'ultimo carattere della stringa
-	MOV DI, 0
+    ; Posizionamento del registro indice DI sull'ultimo carattere della stringa
+    MOV DI, 0
 RICERCA:
-	CMP BYTE PTR [BX+DI], '$'
-	JE  FINERICERCA
-	INC	DI
-	JMP RICERCA
-	
+    CMP BYTE PTR [BX+DI], '$'
+    JE  FINERICERCA
+    INC DI
+    JMP RICERCA
+    
 FINERICERCA:
-	DEC DI          ; Indice dell'ultimo carattere
-	MOV SI, 0		; Indice del primo carattere
-	
+    DEC DI           ; Indice dell'ultimo carattere
+    MOV SI, 0        ; Indice del primo carattere
+    
 CONTROLLO:
-	CMP SI, DI
-	JA PALINDROMA   ; Se l'indice SI ha oltrepassato DI, la stringa e' palindroma
-	MOV AL, [BX+SI]
-	CMP AL, [BX+DI]
-	JNE FINE        ; Se [BX+SI] e [BX+DI] sono diversi, il programma finisce (non palindroma)
-	INC SI
-	DEC DI
-	JMP CONTROLLO
-	
+    CMP SI, DI
+    JA PALINDROMA   ; Se l'indice SI ha oltrepassato DI, la stringa e' palindroma
+    MOV AL, [BX+SI]
+    CMP AL, [BX+DI]
+    JNE FINE        ; Se [BX+SI] e [BX+DI] sono diversi, il programma finisce (non palindroma)
+    INC SI
+    DEC DI
+    JMP CONTROLLO
+    
 PALINDROMA:
-	MOV DL, 1
+    MOV DL, 1
 FINE:
-	; Osservare il valore del registro DL
-	.EXIT
+    ; Osservare il valore del registro DL
+    .EXIT
 END