codice:
	section .code
start:
    mov ah, 01h      ;Cursore on
    mov cx, 0607h    ;Modello cursore
    int 10h            ;Richiamo l' interrupt
    mov ah, 02h       ;Seleziono la funzione del bios
    mov dh, 0       ;Posiziono il cursore nella colonna '0'
    mov dl, 0        ;Posiziono il cursore nella riga '0'
    int 10h         ;Richiamo l' interrupt
main:
    mov ah, 00h     ;Inserisce il carattere in 'al' sotto codice ASCII
    int 16h         ;Richiamo l' interrupt
    mov ah, 0eh     ;Stampa il carattere ASCII contenuto in 'al'
    int 10h         ;Richiamo l' interrupt
    cmp al, 'O'     ;Condizione ASCII=O
    je sectorO      ;Salta se condizione è vera (ASCII=O)
    cmp al, 'c'     ;Condizione ASCII=c
    je sectorC      ;Salta se condizione è vera (ASCII=c)
    jmp main        ;Ripete l' operazione
    
sectorA:
sectorB:
sectorC:
    
    mov ah, 00h     ;Inserisce il carattere in 'al' sotto codice ASCII
    int 16h         ;Richiamo l' interrupt
    mov ah, 0eh     ;Stampa il carattere ASCII contenuto in 'al'
    int 10h         ;Richiamo l' interrupt
    cmp al, 'f'
    je createfile1
    cmp al, 'l'     ;Condizione ASCII=l
    je clearscreen1        ;Salta se condizione è vera (ASCII=l)
    jmp main
sectorD:
sectorE:
sectorF:
sectorG:
sectorH:
sectorI:
sectorL:
sectorM:
sectorN:
sectorO:
    mov ah, 00h     ;Inserisce il carattere in 'al' sotto codice ASCII
    int 16h         ;Richiamo l' interrupt
    mov ah, 0eh     ;Stampa il carattere ASCII contenuto in 'al'
    int 10h         ;Richiamo l' interrupt
    cmp  al, 'S'
    je versO
    jmp main
sectorP:
sectorQ:
sectorR:
sectorS:
sectorT:
sectorU:
sectorV:
sectorW:
sectorY:
sectorZ:
NumberSector:
SpecialSector:
createfile1:
    
    mov ah, 00h     ;Inserisce il carattere in 'al' sotto codice ASCII
    int 16h         ;Richiamo l' interrupt
    mov ah, 0eh     ;Stampa il carattere ASCII contenuto in 'al'
    int 10h         ;Richiamo l' interrupt
    cmp al, 'i'
    je createfile2
    jmp main
    
createfile2:
    mov ah, 00h     ;Inserisce il carattere in 'al' sotto codice ASCII
    int 16h         ;Richiamo l' interrupt
    mov ah, 0eh     ;Stampa il carattere ASCII contenuto in 'al'
    int 10h         ;Richiamo l' interrupt
    cmp al, 'l'
    je createfile3
    jmp main
    
createfile3:
    
    mov ah, 00h     ;Inserisce il carattere in 'al' sotto codice ASCII
    int 16h         ;Richiamo l' interrupt
    mov ah, 0eh     ;Stampa il carattere ASCII contenuto in 'al'
    int 10h         ;Richiamo l' interrupt
    cmp al, 'e'
    je createfile4
    jmp main
    
createfile4:
    mov ah, 02h
    add dh, 1
    int 10h
    
    mov ah, 02h
    add dh, 1
    int 10h
    jmp main
versO:
    mov ah, 00h     ;Inserisce il carattere in 'al' sotto codice ASCII
    int 16h         ;Richiamo l' interrupt
    mov ah, 0eh     ;Stampa il carattere ASCII contenuto in 'al'
    int 10h         ;Richiamo l' interrupt
    cmp  al, 'v'
    je versS
    jmp main
versS:
    mov ah, 00h     ;Inserisce il carattere in 'al' sotto codice ASCII
    int 16h         ;Richiamo l' interrupt
    mov ah, 0eh     ;Stampa il carattere ASCII contenuto in 'al'
    int 10h         ;Richiamo l' interrupt
    cmp  al, 'e'
    je vers1
    jmp main
vers1:
    mov ah, 00h     ;Inserisce il carattere in 'al' sotto codice ASCII
    int 16h         ;Richiamo l' interrupt
    mov ah, 0eh     ;Stampa il carattere ASCII contenuto in 'al'
    int 10h         ;Richiamo l' interrupt
    cmp al, 'r'
    je vers2
    jmp main
vers2:
    mov ah, 00h     ;Inserisce il carattere in 'al' sotto codice ASCII
    int 16h         ;Richiamo l' interrupt
    mov ah, 0eh     ;Stampa il carattere ASCII contenuto in 'al'
    int 10h         ;Richiamo l' interrupt
    cmp al, 's'
    je vers3
    jmp main
vers3:
    mov ah, 00h     ;Inserisce il carattere in 'al' sotto codice ASCII
    int 16h         ;Richiamo l' interrupt
    mov ah, 0eh     ;Stampa il carattere ASCII contenuto in 'al'
    int 10h         ;Richiamo l' interrupt
    cmp al, 'i'
    je vers4
    jmp main
    
vers4:
    mov ah, 00h     ;Inserisce il carattere in 'al' sotto codice ASCII
    int 16h         ;Richiamo l' interrupt
    mov ah, 0eh     ;Stampa il carattere ASCII contenuto in 'al'
    int 10h         ;Richiamo l' interrupt
    cmp al, 'o'        ;Se al=o
    je vers5        ;Salta a vers5
    jmp main        ;Salta a main
vers5:
    mov ah, 00h     ;Inserisce il carattere in 'al' sotto codice ASCII
    int 16h         ;Richiamo l' interrupt
    mov ah, 0eh     ;Stampa il carattere ASCII contenuto in 'al'
    int 10h         ;Richiamo l' interrupt
    cmp al, 'n'        ;Se al=n
    je vers6        ;Salta a vers6
    jmp main        ;Salta a main    
vers6:
    mov ah, 02h
    add dh, 1
    int 10h
    mov al, '1'        ;Posiziono '1' in al
    mov ah, 0eh     ;Stampa il carattere ASCII contenuto in 'al'
    int 10h         ;Richiamo l' interrupt
    mov al, '.'
    mov ah, 0eh
    int 10h
    mov al, '0'
    mov ah, 0eh
    int 10h
    mov al, ' '
    mov ah, 0eh
    int 10h
    mov al, 'A'
    mov ah, 0eh
    int 10h
    mov al, 'l'
    mov ah, 0eh
    int 10h
    mov al, 'p'
    mov ah, 0eh
    int 10h
    mov al, 'h'
    mov ah, 0eh
    int 10h
    mov al, 'a'
    mov ah, 0eh
    int 10h
    mov ah, 02h
    add dh, 1
    int 10h
    jmp main
clearscreen1:
    mov ah, 00h     ;Inserisce il carattere in 'al' sotto codice ASCII
    int 16h         ;Richiamo l' interrupt
    mov ah, 0eh     ;Stampa il carattere ASCII contenuto in 'al'
    int 10h         ;Richiamo l' interrupt
    cmp al, 's'     ;Condizione ASCII=s
    je clearscreen2 ;Salta se condizione è vera (ASCII=s)
    jmp main
clearscreen2:
    mov ah, 00h     ;Richiamo una funzione del bios
    mov al, 02h     ;Setto la funzione richiamata
    int 10h         ;Richiamo l' interrupt
    mov ah, 02h
    mov dh, 0
    mov dl, 0
    int 10h
    mov ah, 00h
    mov al, 02h
    int 10h
    jmp main
section .data
ret