Menu
Coddy logo textTech

Codes de sortie

Fait partie de la section Fondamentaux du Journey Assembly de Coddy — leçon 33 sur 45.

Lorsque votre programme se termine, il renvoie un petit nombre au système d'exploitation. Ce nombre est appelé le code de sortie ou le statut de sortie.

Pourquoi les codes de sortie sont importants :

Les scripts utilisent des codes de sortie pour vérifier si un programme a réussi. Par exemple, un script de sauvegarde pourrait ne continuer que si la commande précédente a réussi.

Les codes de sortie aident également au débogage. Vous pouvez utiliser différents codes d'erreur pour différents problèmes.

Vous pouvez également enchaîner des programmes afin qu'un programme ne s'exécute que si le précédent a réussi. Le shell vérifie le code de sortie avant d'exécuter la commande suivante.

Les règles des codes de sortie :

Code de sortieSignification
0Succès — tout a fonctionné
1-255Quelque chose s'est mal passé

Choix des codes d'erreur :

Vous pouvez utiliser n'importe quel nombre de 1 à 255. La signification de chaque nombre dépend de vous en tant que programmeur.

Code de sortieCe que cela peut signifier
1Erreur générale
2Fichier d'entrée manquant
3Permission refusée
4Erreur réseau

 

Que se passe-t-il si vous ne définissez pas de code de sortie ?

Vous devez toujours définir rdi avant l'appel système exit. Si vous oubliez, rdi contiendra n'importe quel résidu laissé dans le registre, et votre programme se terminera avec un code aléatoire.

challenge icon

Défi

Écrivez un programme complet en assembleur qui se termine avec le code de sortie 2 (pour signaler "file not found").

Le code d'impression vous est fourni. Vous devez seulement ajouter l'appel système exit.

Essayez vous-même

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

section .text
    global _start

_start:
    ; Afficher le message (fourni par le harnais de test)
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, msgLen
    syscall

    ; Le code de l'étudiant va ici
    %include "solution.asm"
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux