Menu
CoddyTech

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 ne continuer que si la commande précédente a réussi.

Les codes de sortie aident également au débogage. Tu peux utiliser différents codes d’erreur pour différents problèmes.

Tu peux aussi 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
0Réussite : tout a fonctionné
1-255Une erreur s’est produite

Choisir des codes d’erreur :

Tu peux utiliser n’importe quel nombre de 1 à 255. C’est à toi, en tant que programmeur, de décider de la signification de chaque nombre.

Code de sortieCe que vous voulez peut-être dire
1Erreur générale
2Fichier d’entrée manquant
3Autorisation refusée
4Erreur réseau

 

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

Tu dois toujours définir rdi avant l’appel système de sortie. Si tu oublies, rdi contient les données indéfinies qui restaient dans le registre, et ton programme se terminera avec un code aléatoire.

challenge icon

Défi

Écris un programme assembleur complet qui se termine avec le code de sortie 2 (pour signaler « file not found »).

Le code d’affichage est fourni. Tu dois 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 l’environnement 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