Menu
CoddyTech

קודי יציאה

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

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

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

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

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

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

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

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

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

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

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

 

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

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

challenge icon

אתגר

כתבו תוכנית אסמבלי מלאה שיוצאת עם קוד יציאה 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 אונליין