<div dir="rtl" lang="ar">

# bitborn — برمجيات من البتّات الخام

[جرّب الموقع](https://othmaneblial.github.io/bitborn/) · [README الكامل](../../../README.md) · [اللغات](../README.md)

اكتب البايتات الفعلية لبرنامج x86 باستخدام الأصفار والآحاد. تُكتب تعليمات Bitborn
يدويًا في ملفات `.bits`؛ فلا يختار مُجمِّع أو مُصرِّف رموز العمليات أو المعاملات أو
إزاحات القفز. أسماء التعليمات في التعليقات تشرح البايتات ولا تولّدها. تحزم أدوات
Python البايتات وتضيف ترويسات الملفات أو بنية القطاعات، ويشغّل JavaScript الموقع التعليمي.

## اقرأ تعليمتك الأولى

</div>
<div dir="ltr">

```text
10111000 00101010 00000000
```

</div>
<div dir="rtl" lang="ar">

عندما يكون حجم المعامل 16 بتًا، تعني هذه البايتات الثلاثة `MOV AX,42`. يختار `B8`
المسجّل، وتمثّل `2A 00` العدد 42 بدءًا بالبايت الأقل أهمية. وضع التنفيذ مهم:
مع حجم معامل يبلغ 32 بتًا، يحتاج `B8` إلى أربعة بايتات للقيمة الفورية بدلًا من اثنين.
ينفّذ مختبر المعالج في المتصفح مجموعة موثّقة محدودة من تعليمات 16 بتًا فقط.

## جرّبه بنفسك

افتح [مختبر المعالج](https://othmaneblial.github.io/bitborn/cpu-lab/) لتنفيذ البرنامج خطوة
بخطوة وفحص المسجّلات والأعلام والمكدّس والذاكرة، أو لاستعادة الحالات المسجّلة باستخدام
Back وForward. يتيح [محرّر قطاع الإقلاع](https://othmaneblial.github.io/bitborn/boot-builder/)
تعديل صورة كاملة بحجم 512 بايتًا وتصديرها. تعلّمك التحديات تعديل البايتات الفعلية،
وتبقى بيانات تقدّمك في متصفحك.

لبناء برامج الإقلاع الحقيقية واختبارها، تحتاج إلى Python 3.10+ وMake وQEMU.
على macOS استخدم `brew install qemu`؛ وعلى Ubuntu استخدم
`sudo apt-get install python3 make qemu-system-x86`.

</div>
<div dir="ltr">

```sh
git clone https://github.com/OthmaneBlial/bitborn.git
cd bitborn
make test
make run
```

</div>
<div dir="rtl" lang="ar">

يتحقق `make test` من البايتات المراجَعة وسلوك الآلة الافتراضية في QEMU دون واجهة رسومية.
ويفتح `make run` صورة إقلاع BIOS. تعمل أمثلة BIOS في QEMU على Apple Silicon،
أما أمثلة ELF الأصلية فتحتاج إلى Linux x86-64. تحتاج اختبارات تطوير المتصفح أيضًا
إلى Node.js وPlaywright؛ راجع دليل المساهمة.

## النطاق والتقدّم

يضم المستودع برامج BIOS وتجارب لوحة المفاتيح وVGA والقرص، وصدفة تفاعلية، وتجربة
منفصلة للمقاطعات في الوضع المحمي، وأمثلة ELF لنظام Linux. المتصفح نموذج تعليمي
محدود بذاكرة 1 MiB وبحدّ 4096 خطوة، وليس معالجًا أو BIOS كاملًا. تُفسَّر البرامج
المستوردة ولا تُنفَّذ بوصفها شيفرة أصلية على الجهاز المضيف. لم يُثبت دعم الأجهزة
الفعلية أو UEFI أو أنظمة التشغيل المخصّصة للإنتاج. استخدم بيئات محاكاة يمكن التخلص
منها لإجراء التجارب الأصلية.

[خارطة الطريق والأدلة](../../../ROADMAP.md) · [تقدّم الموقع](https://othmaneblial.github.io/bitborn/roadmap/) · [سجلّ التغييرات](../../../CHANGELOG.md)

ابدأ بـ[الدليل التمهيدي](../../tutorials/from-bits-to-boot.md) و[دليل البنية](../../architecture/README.md).
التزم بـ[قواعد المساهمة](../../../CONTRIBUTING.md) و[مدوّنة السلوك](../../../CODE_OF_CONDUCT.md).
أبلغ عن الثغرات [بشكل خاص](../../../SECURITY.md). تستخدم الشيفرة والوثائق
[رخصة MIT](../../../LICENSE). المقدّمة الإنجليزية هي مرجع الترجمة؛ وما زالت الأدلة
التقنية التفصيلية باللغة الإنجليزية.

</div>
