6502 Addressing Modes

From binaryoption
Jump to navigation Jump to search
Баннер1

أوضاع العنونة في معالج 6502

مقدمة

معالج 6502 هو معالج دقيق ثماني البتات تم تقديمه في عام 1975، واشتهر باستخدامه في أجهزة الكمبيوتر المنزلية المبكرة مثل Apple II و Commodore 64 و Nintendo Entertainment System. إحدى الميزات القوية لمعالج 6502 هي مجموعة أوضاع العنونة المتنوعة الخاصة به. تحدد أوضاع العنونة كيف يتم تحديد موقع البيانات التي ستستخدمها التعليمة. فهم هذه الأوضاع أمر بالغ الأهمية لكتابة كود فعال ومضغوط لمعالج 6502. تهدف هذه المقالة إلى تقديم نظرة عامة شاملة على أوضاع العنونة الستة الرئيسية في 6502، مع أمثلة توضيحية.

أنواع أوضاع العنونة

يتميز معالج 6502 بستة أوضاع عنونة رئيسية:

  • العنونة الضمنية (Implied Addressing)
  • العنونة المتراكمة (Accumulator Addressing)
  • العنونة الفورية (Immediate Addressing)
  • العنونة المباشرة (Direct Addressing)
  • العنونة غير المباشرة (Indirect Addressing)
  • العنونة النسبية (Relative Addressing)
  • العنونة المفهرسة (Indexed Addressing)

1. العنونة الضمنية

في وضع العنونة الضمنية، لا تحتوي التعليمة على أي مرجع للذاكرة. تعمل التعليمة مباشرة على المُراكم (Accumulator) أو على علامات الحالة (Status Flags). عادةً ما تستخدم هذه التعليمة لعمليات مثل تدوير البتات (Bit Rotation) أو عكس البتات (Bit Inversion).

مثال:

```assembly INX ; زيادة قيمة المُراكم بمقدار واحد. ```

2. العنونة المتراكمة

تستخدم التعليمة المُراكم كمعامل. تُستخدم هذه التعليمة للعمليات التي تتطلب المُراكم كمدخل أو مخرج.

مثال:

```assembly ASL A ; إزاحة البتات في المُراكم إلى اليسار. ```

3. العنونة الفورية

في وضع العنونة الفورية، يكون المعامل جزءًا من التعليمة نفسها. يتم تخزين القيمة مباشرة في التعليمة، ولا يلزم الوصول إلى الذاكرة.

مثال:

```assembly LDA #$10 ; تحميل القيمة 16 (بالنظام الست عشري) في المُراكم. ```

4. العنونة المباشرة

في وضع العنونة المباشرة، تحدد التعليمة عنوان الذاكرة حيث توجد البيانات. يتم استخدام عنوان الذاكرة هذا مباشرة للوصول إلى البيانات.

مثال:

```assembly LDA $2000 ; تحميل القيمة الموجودة في العنوان $2000 في المُراكم. ```

5. العنونة غير المباشرة

تستخدم العنونة غير المباشرة عنوانًا في الذاكرة يحتوي على عنوان الذاكرة الفعلي للبيانات. هناك نوعان من العنونة غير المباشرة:

  • العنونة غير المباشرة المطلقة (Absolute Indirect): يتم تحديد عنوان الذاكرة الذي يحتوي على العنوان الفعلي باستخدام عنوان مطلق.
  • العنونة غير المباشرة المفهرسة (Indexed Indirect): يتم إضافة قيمة السجل X إلى العنوان الأساسي للحصول على العنوان الفعلي.

مثال (العنونة غير المباشرة المطلقة):

```assembly LDA ($2000) ; تحميل القيمة الموجودة في العنوان الذي يحتوي عليه العنوان $2000 في المُراكم. ```

مثال (العنونة غير المباشرة المفهرسة):

```assembly LDA ($2000,X) ; تحميل القيمة الموجودة في العنوان الذي يحتوي عليه العنوان $2000 + X في المُراكم. ```

6. العنونة النسبية

تستخدم العنونة النسبية إزاحة يتم إضافتها إلى عنوان العداد البرمجي الحالي (Program Counter). تُستخدم هذه التعليمة بشكل أساسي للقفزات (Jumps) والتفرعات (Branches) الشرطية.

مثال:

```assembly BEQ Label ; التفرع إلى Label إذا كانت علامة الصفر (Zero Flag) مضبوطة. ```

7. العنونة المفهرسة

تستخدم العنونة المفهرسة عنوانًا أساسيًا بالإضافة إلى فهرس (إما X أو Y). يتم إضافة قيمة الفهرس إلى العنوان الأساسي للحصول على العنوان الفعلي. هناك عدة أنواع من العنونة المفهرسة:

  • العنونة المفهرسة بالصفر (Zero Page Indexed): يتم إضافة قيمة X أو Y إلى عنوان في الصفحة الصفرية (Zero Page).
  • العنونة المفهرسة المطلقة (Absolute Indexed): يتم إضافة قيمة X أو Y إلى عنوان مطلق.

مثال (العنونة المفهرسة بالصفر):

```assembly LDA $10,X ; تحميل القيمة الموجودة في العنوان $10 + X في المُراكم. ```

مثال (العنونة المفهرسة المطلقة):

```assembly LDA $2000,Y ; تحميل القيمة الموجودة في العنوان $2000 + Y في المُراكم. ```

جدول ملخص أوضاع العنونة

أوضاع العنونة في معالج 6502
الوضع الوصف مثال
ضمني لا يوجد مرجع للذاكرة INX
متراكم يستخدم المُراكم ASL A
فوري القيمة جزء من التعليمة LDA #$10
مباشر عنوان الذاكرة محدد مباشرة LDA $2000
غير مباشر عنوان الذاكرة يحتوي على عنوان الذاكرة الفعلي LDA ($2000)
نسبي إزاحة من العداد البرمجي الحالي BEQ Label
مفهرس عنوان + فهرس (X أو Y) LDA $10,X

أهمية فهم أوضاع العنونة

فهم أوضاع العنونة أمر بالغ الأهمية لعدة أسباب:

  • الكفاءة: اختيار وضع العنونة الصحيح يمكن أن يؤدي إلى كود أكثر كفاءة.
  • الحجم: بعض أوضاع العنونة تنتج تعليمات أصغر حجمًا، مما يوفر مساحة الذاكرة.
  • السرعة: بعض أوضاع العنونة أسرع من غيرها.
  • المرونة: توفر أوضاع العنونة المختلفة مرونة في الوصول إلى البيانات.

روابط ذات صلة

استراتيجيات وأساليب متقدمة

ابدأ التداول الآن

سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)

انضم إلى مجتمعنا

اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين

Баннер