Menu
Coddy logo textTech

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 è terminato correttamente. 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

Scelta dei codici di errore:

Puoi usare qualsiasi numero da 1 a 255. Sta a te, come programmatore, decidere cosa significa ciascun numero.

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

 

Che cosa succede se non imposti un codice di uscita?

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

challenge icon

Sfida

Scrivi un programma assembly completo che termina con codice di uscita 2 (per segnalare "file not found").

Il codice di stampa ti viene fornito. Devi solo aggiungere la syscall di uscita.

Provalo tu

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

section .text
    global _start

_start:
    ; Imprime el mensaje (proporcionado por el entorno de pruebas)
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, msgLen
    syscall

    ; El código del estudiante va aquí
    %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