Menu
CoddyTech

Codici di uscita

Fa parte della sezione Fondamenti del percorso Assembly di Coddy. Lezione 33 di 45.

Quando il tuo programma termina, invia un piccolo numero al sistema operativo. Questo numero è chiamato codice di uscita o stato di uscita.

Perché i codici di uscita sono importanti:

Gli script usano i codici di uscita per verificare se un programma è stato eseguito correttamente. Per esempio, uno script di backup potrebbe continuare solo se il comando precedente è stato eseguito correttamente.

Anche i codici di uscita aiutano a eseguire il debug. Puoi usare codici di errore diversi per problemi diversi.

Puoi anche concatenare i programmi in modo che un programma venga eseguito solo se quello precedente è riuscito. La shell controlla il codice di uscita prima di eseguire il comando successivo.

Le regole dei codici di uscita:

Codice di uscitaSignificato
0Successo: tutto ha funzionato
1-255Qualcosa è andato storto

Scegliere i codici di errore:

Puoi usare qualsiasi numero da 1 a 255. Sta a te, in qualità di programmatore, decidere cosa significa ciascun numero.

Codice di uscitaCosa potresti intendere
1Errore generale
2File di input mancante
3Autorizzazione negata
4Errore di rete

 

Cosa succede se non imposti un codice di uscita?

Devi sempre impostare rdi prima della chiamata di sistema di uscita. Se te ne dimentichi, rdi contiene qualunque dato casuale sia rimasto nel registro e il programma terminerà con un codice casuale.

challenge icon

Sfida

Scrivi un programma assembly completo che termini con il codice di uscita 2 (per segnalare «file not found»).

Il codice di stampa è già fornito. Devi solo aggiungere la chiamata di sistema per l'uscita.

Provalo tu

section .data
    msg db 'Backup complete', 0x0a
    msgLen equ $ - msg

section .text
    global _start

_start:
    ; Stampa il messaggio (fornito dall'ambiente di test)
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, msgLen
    syscall

    ; Il codice dello studente va qui
    %include "solution.asm"
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Assembly