Menu
Coddy logo textTech

Çıkış Kodları

Coddy'nin Assembly Journey'sinin Temel Bilgiler bölümünün bir parçası. Ders 33 / 45.

Programınızdan çıkıldığında, işletim sistemine küçük bir sayı gönderir. Bu sayıya çıkış kodu veya çıkış durumu denir.

Çıkış kodları neden önemlidir:

Betikler, bir programın başarılı olup olmadığını kontrol etmek için çıkış kodlarını kullanır. Örneğin, bir yedekleme betiği yalnızca önceki komut başarılı olduysa devam edebilir.

Çıkış kodları hata ayıklamaya da yardımcı olur. Farklı sorunlar için farklı hata kodları kullanabilirsiniz.

Programları birbirine bağlayarak bir programın yalnızca önceki program başarılı olduysa çalışmasını da sağlayabilirsiniz. Kabuk, sonraki komutu çalıştırmadan önce çıkış kodunu kontrol eder.

Çıkış kodlarının kuralları:

Çıkış koduAnlamı
0Başarılı: her şey yolunda gitti
1-255Bir şeyler ters gitti

Hata kodlarını seçme:

1 ile 255 arasındaki herhangi bir sayıyı kullanabilirsin. Her sayının ne anlama geldiğine programcı olarak sen karar verirsin.

Çıkış koduNe anlama gelebilir
1Genel hata
2Girdi dosyası eksik
3İzin reddedildi
4Ağ hatası

 

Bir çıkış kodu ayarlamazsanız ne olur?

Çıkış sistem çağrısından önce her zaman rdi değerini ayarlamalısın. Bunu unutursan rdi yazmacı, yazmacın içinde kalan rastgele veriyi içerir ve programın rastgele bir kodla çıkar.

challenge icon

Görev

2 çıkış koduyla ("dosya bulunamadı" sinyali vermek için) çıkan eksiksiz bir assembly programı yazın.

Yazdırma kodu sizin için sağlanmıştır. Yalnızca çıkış sistem çağrısını eklemeniz gerekir.

Kendin dene

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

section .text
    global _start

_start:
    ; Mesajı yazdır (test harness tarafından sağlanır)
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, msgLen
    syscall

    ; Öğrencinin kodu buraya gelir
    %include "solution.asm"
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temel Bilgiler bölümündeki tüm dersler

Kendi başına pratik yap: Assembly playground