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

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

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

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

لماذا تُعد رموز الخروج مهمة:

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

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

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

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

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

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

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

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

 

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

يجب عليك دائمًا تعيين rdi قبل استدعاء النظام exit. إذا نسيت ذلك، فسيحتوي 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اختبر نفسك

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

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

تدرّب بنفسك: Playground لـ Assembly