بادئة رمز العملية
في مجال الحوسبة ، يُعدّ بادئة رمز العملية رمزًا رقميًا يُغيّر وظيفة رمز العملية اللاحق . [ 1 ] في بعض بنى مجموعات التعليمات، يُسمح باستخدام عدة بادئات لرموز العمليات بالتتابع، حيث تتحد جميعها لتغيير رمز العملية اللاحق. بادئة رمز العملية هي جزء من تعليمة لغة الآلة الأكبر التي تُحدد العملية المراد تنفيذها. [ 2 ]
بالإضافة إلى رمز العملية، تحدد بعض التعليمات المعاملات التي ستُنفذ عليها العملية. وقد تُغير بادئات رمز العملية عدد المعاملات أو حجمها أو طريقة عنونتها .
لا تستخدم معالجات RISC بادئات رموز العمليات.
أنواع البادئات
تنقسم بادئات رموز العمليات عمومًا إلى فئتين:
- بادئات رمز العملية التي تُغير وظائف رمز العملية اللاحقة.
- Opcode prefixes that enable an alternate set of opcodes. This is analogous to the shift key on a keyboard. In this way, instruction sets can be extended by adding a subset of new instructions by reusing existing reserved opcodes.
أمثلة على بادئات رموز العمليات
لا تهدف القائمة التالية إلى أن تكون قائمة شاملة لبادئات رموز العمليات، ولكنها توضح بدلاً من ذلك كيفية استخدام بادئات رموز العمليات في مختلف بنى مجموعات تعليمات وحدة المعالجة المركزية.
وحدة تحكم دقيقة
تُعدّ عائلة COP400 من شركة ناشيونال سيميكوندكتور عائلة من المتحكمات الدقيقة ذات 4 بتات، وقد طُرحت في عام 1977. تحتوي على 255 رمزًا تشغيليًا أحادي البايت. وتستخدم بادئة 33H لرموز التشغيل لتمكين مجموعة بديلة من 187 رمزًا تشغيليًا. [ 3 ]
يُعدّ معالج COP8 من شركة ناشيونال سيميكوندكتور معالجًا دقيقًا ثماني البتات طُرح في عام 1988. وهو تطويرٌ لمعالج COP400 السابق من ناشيونال. على عكس COP400، يستخدم COP8 بادئة رمز العملية لتغيير معاملاته. عادةً، يُشفّر عنوان ذاكرة الوصول العشوائي المطلق مباشرةً لأربع تعليمات فقط: و و و و . يمكن إضافة بادئة رمز عملية ثنائية البايت إلى أي تعليمة أخرى تستخدم عادةً سجل الفهرس B للوصول إلى الذاكرة لتحويل تلك التعليمة إلى عنوان ذاكرة وصول عشوائي مطلق. البادئة هي 0xBD متبوعةً بعنوان مطلق ثماني البتات. هذه البادئة غير معتادة لأنها ثنائية البايت بدلًا من أحادية البايت. [ 4 ]LD addr8,#imm8LD A,addr8X A,addr8IFEQ addr8,#imm8DIR
معالج دقيق 8 بت
معالج Zilog Z80 هو معالج دقيق 8 بت تم إطلاقه في عام 1976. وقد صُمم ليكون متوافقًا برمجيًا مع معالج Intel 8080. ويستخدم بادئات رموز العمليات لتغيير معاملاته وتوسيع مجموعة تعليماته .
للوصول إلى المعاملات في سجلات IX وIY الجديدة، تُضاف البادئة 0xDD أو 0xFD إلى تعليمات 8080 القديمة، مما يسمح لهذه التعليمات باستبدال IX أو IY، على التوالي، بـ HL. في الحالات التي يُستخدم فيها (HL)، يتم استبدال أنماط العنونة (IX+disp) و(IY+disp).
تُمكّن البادئات 0xCB و0xED من إدخال تعليمات جديدة غير موجودة في معالج 8080. ويمكن دمج البادئات: إذ يمكن للبادئات 0xDD أو 0xFD IX/IY أن تُسبق أي تعليمة تبدأ بالبادئة 0xCB وتستخدم HL. [ 5 ]
معالج دقيق 16 بت
يحتوي معالجا Intel 8086 و 8088 على ثلاثة أنواع من البادئات، والتي يمكن دمجها جميعًا [ ملاحظة 1 ] لتغيير بعض التعليمات اللاحقة. [ 6 ]
تجاوز المقطع: عادةً ما يُستخدم مقطع البيانات (DS) لمعظم عمليات الوصول إلى البيانات، بينما يُستخدم مقطع المكدس (SS) لأي عمليات وصول تتضمن BP أو SP. يتم توفير بادئات تجاوز مقطع مكونة من بايت واحد لاستبدال ES أو CS أو SS أو DS.
التكرار: عادةً ما تُنفَّذ تعليمات السلسلة النصية LODS، STOS، MOVS، CMPS، و SCASدورة واحدة فقط. إذا REPأُضيفت بادئة إلى أي تعليمة سلسلة نصية، فستُكرَّر CX مرة. قد تنتهي تعليمات CMPSو SCASمبكرًا إذا تحققت شروط المساواة أو عدم المساواة الخاصة بها. يمكن دمج هذه التعليمات مع بادئة تجاوز المقطع للسلسلة النصية المصدرية.
القفل:LOCK يُستخدم هذا البادئة مع تعليمات القراءة والتعديل والكتابة مثل INC`request` DECأو `request` أو XCHG`request` لضمان عدم تداخل أي وحدة تحكم رئيسية أخرى مع عملية القراءة أو الكتابة. LOCKويمكن دمجه مع بادئة تجاوز المقطع.
معالج دقيق 64 بت
AMD64 أو x86-64 هي امتداد 64 بت لمجموعة تعليمات x86 . أُعلن عنها عام 1999، وأُتيحت لأول مرة في عائلة معالجات AMD Opteron عام 2003. وقد قدمت بادئة REX opcode التي توفر مساحة إضافية لترميز أنماط العنونة 64 بت، بالإضافة إلى ثمانية سجلات عددية صحيحة إضافية موجودة في بنية x86-64. [ 7 ] [ 8 ]
مراجع
- ↑ تانينباوم، أندرو س؛ أوستن، تود (2013). تنظيم الحاسوب الهيكلي ( الطبعة السادسة). بيرسون للتعليم، ص 367. ISBN 0-13-291652-5.
- ↑ برادلي، ديفيد آلان؛ داوسون، د.؛ بيرد، ن. س.؛ لودر، أ. ج. (2018). الميكاترونيات: الإلكترونيات في المنتجات والعمليات (الطبعة الثانية ). بوكا راتون: روتليدج. ص 174. ISBN 978-0-7487-5742-8تم الاطلاع عليه بتاريخ 2025-09-06 .
- ↑ "دليل مستخدم عائلة المتحكمات الدقيقة COP400 COPS . شركة ناشيونال سيميكوندكتور . تم الاطلاع عليه بتاريخ 23-06-2025 ."
- ↑ دليل مستخدم عائلة COP8 الأساسية (ملف PDF) . المراجعة 002. شركة ناشيونال سيميكوندكتور . يونيو 1996. رقم المنشور 620895-002 . تاريخ الاسترجاع 2021-01-02 .
- ↑ دليل مستخدم معالج عائلة Z80 (ملف PDF) . زيلوج . 2016. UM008011-0816. مؤرشف (ملف PDF) من الأصل بتاريخ 26-12-2023 . تم الاطلاع عليه بتاريخ 05-01-2024 .
- ↑ دليل مستخدم عائلة 8086 (ملف PDF) . إنتل. أكتوبر 1979. تم الاطلاع عليه بتاريخ 16-06-2025 .
- ↑ شركة إنتل (2016-09-01). "دليل مطوري معمارية إنتل® 64 و IA-32: المجلد 2A" . تم الاطلاع عليه بتاريخ 2021-09-13 .
- ↑ هاريس، ديفيد موني؛ هاريس، سارة ل. (2007). التصميم الرقمي وهندسة الحاسوب (ملف PDF) . دار مورغان كوفمان للنشر. ص 348. ISBN 978-0-12-370497-9تم الاطلاع عليه بتاريخ 2025-09-06 .
ملحوظات
- ↑ هناك خطأ في معالج 8086 يتسبب في نسيان البادئات المتعددة في عمليات السلسلة عند تأكيد المقاطعة.
- لغة الآلة
- بنى مجموعات التعليمات
