MESSAGGIO: DB 'Hello World', 0

MOV BX, 0
LEA BX, MESSAGGIO
MOV SI, 0

CICLO: MOV DL, [BX+SI]       ;metto in DL una lettera all'indice SI
       CMP DL, 0             ;comparo la lettera a 0
       JZ FINE               ;lettera = 0 -> salta a FINE
       CMP DL, 32            ;comparo la lettera a 32 (spazio)
       JE ACAPO              ;lettera = 0 -> salta a ACAPO
       ;ADD DL, 32           ;+32 MAIUSCOLO->minuscolo
SALTO: MOV AH, 02h           ;preparazione alla scrittura su terminale
       INT 21h               ;scrivo su terminale
       INC SI                ;incremento l'indice
       JMP CICLO             ;salto a CICLO
       
ACAPO: MOV DL, 10            ;metto in DL l'andata a capo (\n)
       MOV AH, 02h
       INT 21h               ;stampo l'andata a capo
       MOV DL, 13            ;metto in DL il carriage return (\r)
       JMP SALTO
       
FINE: MOV AH, 4Ch            ;esco dal programma
      MOV AL, 0
      INT 21h