Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

رموز الخروج (Exit Codes)

جزء من قسم الأساسيات في رحلة Assembly على Coddy — الدرس 33 من 45.

عندما يخرج برنامجك، فإنه يرسل رقماً صغيراً مرة أخرى إلى نظام التشغيل. يُسمى هذا الرقم رمز الخروج أو حالة الخروج.

لماذا تهم رموز الخروج:

تستخدم البرامج النصية رموز الخروج للتحقق مما إذا كان البرنامج قد نجح. على سبيل المثال، قد يستمر نص النسخ الاحتياطي فقط إذا نجح الأمر السابق.

تساعد رموز الخروج أيضًا في تصحيح الأخطاء. يمكنك استخدام رموز خطأ مختلفة لمشكلات مختلفة.

يمكنك أيضًا ربط البرامج معًا بحيث يتم تشغيل برنامج واحد فقط إذا نجح البرنامج السابق. يتحقق الغلاف (shell) من رمز الخروج قبل تشغيل الأمر التالي.

قواعد رموز الخروج:

رمز الخروجالمعنى
0نجاح — كل شيء عمل بشكل صحيح
1-255حدث خطأ ما

اختيار رموز الخطأ:

يمكنك استخدام أي رقم من 1 إلى 255. ما يعنيه كل رقم يعود إليك بصفتك المبرمج.

رمز الخروجما قد تعنيه
1خطأ عام
2ملف الإدخال مفقود
3تم رفض الإذن
4خطأ في الشبكة

 

ماذا يحدث إذا لم تقم بتعيين رمز خروج؟

يجب عليك دائمًا تعيين rdi قبل استدعاء النظام exit. إذا نسيت، فسيحتوي rdi على أي بيانات عشوائية بقيت في السجل، وسيخرج برنامجك برمز عشوائي.

challenge icon

التحدي

اكتب برنامج assembly كاملاً ينتهي برمز الخروج 2 (للإشارة إلى "file not found").

كود الطباعة متوفر لك. ما عليك سوى إضافة syscall الخاص بـ exit.

جرّب بنفسك

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اختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات