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 les codes de sortie pour vérifier si un programme a réussi. Par exemple, un script de sauvegarde peut continuer uniquement si la commande précédente a réussi.

Les codes de sortie facilitent également le 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
0Success : tout a fonctionné
1-255Quelque chose s’est mal passé

Choisir 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 vous voulez peut-être dire
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 de sortie. Si vous l’oubliez, rdi contient les données indésirables qui se trouvaient dans le registre, et votre programme se terminera avec un code aléatoire.

challenge icon

Défi

Écrivez un programme assembleur complet qui se termine avec le code de sortie 2 (pour signaler « fichier introuvable »).

Le code d’affichage vous est fourni. Vous devez seulement ajouter l’appel système de sortie.

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 harness 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

Entraînez-vous par vous-même : Playground Assembly