Çıkış Kodları
Coddy'nin Assembly Journey'sinin Temeller bölümünün bir parçası — ders 33 / 45.
Programınız sonlandığında, işletim sistemine küçük bir sayı geri 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.
Ayrıca programları birbirine zincirleyebilirsiniz, böylece bir program yalnızca bir önceki başarılı olduğunda çalışır. Kabuk, bir sonraki komutu çalıştırmadan önce çıkış kodunu kontrol eder.
Çıkış kodlarının kuralları:
| Çıkış kodu | Anlamı |
|---|---|
| 0 | Başarılı — her şey çalıştı |
| 1-255 | Bir şeyler ters gitti |
Hata kodlarını seçme:
1'den 255'e kadar herhangi bir sayıyı kullanabilirsiniz. Her bir sayının ne anlama geldiği, programcı olarak size bağlıdır.
| Çıkış kodu | Olası anlamı |
|---|---|
| 1 | Genel hata |
| 2 | Eksik giriş dosyası |
| 3 | İzin reddedildi |
| 4 | Ağ hatası |
Bir çıkış kodu ayarlamazsanız ne olur?
exit sistem çağrısından önce her zaman rdi değerini ayarlamalısınız. Eğer unutursanız, rdi yazmaçta kalan çöp veriyi içerir ve programınız rastgele bir kodla çıkış yapar.
Görev
Çıkış kodu 2 ile sonlanan ("file not found" sinyali vermek için) eksiksiz bir assembly programı yazın.
Yazdırma kodu sizin için sağlanmıştır. Sadece exit syscall eklemeniz yeterlidir.
Kendin dene
section .data
msg db 'Backup complete', 0x0a
msgLen equ $ - msg
section .text
global _start
_start:
; Mesajı yazdır (test düzeneği 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.