Menu
Coddy logo textTech

קודי יציאה

חלק מהיחידה יסודות במסלול ה-Assembly של Coddy. שיעור 33 מתוך 45.

כשהתוכנית שלך מסתיימת, היא שולחת מספר קטן בחזרה למערכת ההפעלה. המספר הזה נקרא קוד יציאה או סטטוס יציאה.

למה קודי יציאה חשובים:

סקריפטים משתמשים בקודי יציאה כדי לבדוק אם תוכנית הצליחה. לדוגמה, סקריפט גיבוי עשוי להמשיך רק אם הפקודה הקודמת הצליחה.

קודי יציאה עוזרים גם בניפוי שגיאות. אפשר להשתמש בקודי שגיאה שונים עבור בעיות שונות.

אפשר גם לשרשר תוכניות יחד, כך שתוכנית אחת תפעל רק אם הקודמת הצליחה. המעטפת בודקת את קוד היציאה לפני שהיא מריצה את הפקודה הבאה.

הכללים של קודי יציאה:

קוד יציאהמשמעות
0הצלחה: הכול עבד
1-255משהו השתבש

בחירת קודי שגיאה:

אפשר להשתמש בכל מספר מ-1 עד 255. המשמעות של כל מספר נתונה לבחירתך כמתכנת.

קוד יציאהמה ייתכן שהתכוונת
1שגיאה כללית
2קובץ קלט חסר
3הגישה נדחתה
4שגיאת רשת

 

מה קורה אם לא מגדירים קוד יציאה?

עליך להגדיר תמיד את rdi לפני קריאת המערכת ליציאה. אם תשכח, rdi יכיל את הזבל שנותר באוגר, והתוכנית שלך תסתיים עם קוד אקראי.

challenge icon

אתגר

כתבו תוכנית Assembly מלאה שיוצאת עם קוד יציאה 2 (כדי לסמן "file not found").

קוד ההדפסה מסופק לכם. עליכם רק להוסיף את קריאת המערכת ליציאה.

נסו בעצמכם

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

section .text
    global _start

_start:
    ; הדפס את ההודעה (שסופקה על ידי סביבת הבדיקה)
    mov rax, 1
    mov rdi, 1
    mov rsi, msg
    mov rdx, msgLen
    syscall

    ; הקוד של התלמיד נכתב כאן
    %include "solution.asm"
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: Assembly אונליין