Menu
Coddy logo textTech

Kody zakończenia

Część sekcji Podstawy ścieżki Assembly w Coddy. Lekcja 33 z 45.

Gdy program kończy działanie, wysyła niewielką liczbę do systemu operacyjnego. Ta liczba jest nazywana kodem zakończenia lub statusem zakończenia.

Dlaczego kody wyjścia są ważne:

Skrypty używają kodów wyjścia, aby sprawdzić, czy program zakończył się pomyślnie. Na przykład skrypt tworzący kopię zapasową może kontynuować działanie tylko wtedy, gdy poprzednie polecenie zakończyło się pomyślnie.

Kody zakończenia pomagają również w debugowaniu. Możesz używać różnych kodów błędów dla różnych problemów.

Możesz też łączyć programy w taki sposób, aby jeden program uruchamiał się tylko wtedy, gdy poprzedni zakończył się powodzeniem. Powłoka sprawdza kod zakończenia przed uruchomieniem następnego polecenia.

Zasady dotyczące kodów wyjścia:

Kod wyjściaZnaczenie
0Sukces: wszystko działało
1-255Coś poszło nie tak

Wybieranie kodów błędów:

Możesz użyć dowolnej liczby od 1 do 255. To ty, jako programista, decydujesz, co oznacza każda liczba.

Kod wyjściaCo możesz mieć na myśli
1Błąd ogólny
2Brak pliku wejściowego
3Odmowa dostępu
4Błąd sieci

 

Co się stanie, jeśli nie ustawisz kodu wyjścia?

Musisz zawsze ustawić rdi przed wywołaniem systemowym kończącym działanie programu. Jeśli o tym zapomnisz, rdi będzie zawierać przypadkową wartość, która pozostała w rejestrze, a program zakończy działanie z losowym kodem.

challenge icon

Wyzwanie

Napisz kompletny program w asemblerze, który kończy działanie z kodem wyjścia 2 (aby zasygnalizować „file not found”).

Kod wyświetlający tekst jest już dostępny. Wystarczy dodać wywołanie systemowe kończące działanie.

Spróbuj swoich sił

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

section .text
    global _start

_start:
    ; Wypisz komunikat (dostarczony przez środowisko testowe)
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, msgLen
    syscall

    ; Tutaj znajduje się kod ucznia
    %include "solution.asm"
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Podstawy

Poćwicz samodzielnie: Edytor online Assembly