Çı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ış kodu | Anlamı |
|---|---|
| 0 | Başarılı: her şey yolunda gitti |
| 1-255 | Bir ş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ış kodu | Ne anlama gelebilir |
|---|---|
| 1 | Genel hata |
| 2 | Girdi dosyası eksik |
| 3 | İzin reddedildi |
| 4 | Ağ 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.
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"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