رمز عملية غير قانوني

إشارة تعليمات غير قانونية تم تشغيلها عمداً

في علم الحاسوب ، يُعرف رمز العملية غير القانوني ، أو العملية غير المُنفذة ، أو رمز العملية غير المقصود ، أو التعليمات غير الموثقة ، بأنه تعليمات تُوجه إلى وحدة المعالجة المركزية (CPU) دون ذكرها في أي وثائق رسمية صادرة عن مصمم أو مُصنِّع وحدة المعالجة المركزية، ومع ذلك يكون لها تأثير. كانت رموز العمليات غير القانونية شائعة في وحدات المعالجة المركزية القديمة التي صُممت خلال سبعينيات القرن الماضي، مثل MOS Technology 6502 و Intel 8086 و Zilog Z80 . على عكس المعالجات الحديثة، تتميز تلك المعالجات القديمة بميزانية محدودة للغاية من الترانزستورات، ولذلك، ولتوفير المساحة، غالبًا ما كان مصمموها يُهملون الدوائر اللازمة لاكتشاف رموز العمليات غير الصالحة وتوليد تنبيه لمعالج الأخطاء. يحدث تنفيذ العديد من هذه الرموز كأثر جانبي لتوصيلات الترانزستورات في وحدة المعالجة المركزية، وعادةً ما يجمع بين وظائف وحدة المعالجة المركزية التي لم يكن من المُفترض دمجها. في المعالجات القديمة والحديثة، توجد أيضًا تعليمات مضمنة عمدًا في المعالج من قبل الشركة المصنعة، ولكنها غير موثقة في أي مواصفات رسمية.

ملخص

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

يكمن أحد المخاطر المرتبطة باستخدام التعليمات غير القانونية في أنه، نظرًا لعدم ضمان الشركة المصنعة لوجودها ووظيفتها، فقد تختفي أو تتغير طريقة عملها مع أي تغيير في مكونات المعالج أو أي إصدار جديد منه، مما يجعل البرامج التي تستخدمها غير متوافقة مع الإصدارات الأحدث. على سبيل المثال، لم تعمل العديد من ألعاب Apple II القديمة بشكل صحيح على Apple IIc الأحدث ، لأن الأخير استخدم إصدارًا أحدث من المعالج - 65C02 - والذي ألغى التعليمات غير القانونية.  

لا تحتوي وحدات المعالجة المركزية اللاحقة، مثل 80186 و 80286 و 68000 وما تلاها، على رموز عمليات غير قانونية شائعة الاستخدام. من الناحية المثالية، تتصرف وحدة المعالجة المركزية بطريقة محددة عند اكتشافها رمز عملية غير معروف في سلسلة التعليمات، كأن تتسبب في استثناء أو عطل معين . عندئذٍ، يقوم معالج الاستثناءات أو الأعطال في نظام التشغيل عادةً بإنهاء التطبيق المتسبب في العطل، إلا إذا كان البرنامج قد أنشأ مسبقًا معالج استثناءات/أعطال خاصًا به، وفي هذه الحالة يتولى هذا المعالج زمام الأمور. ثمة طريقة أخرى، أقل شيوعًا، للتعامل مع التعليمات غير القانونية، وهي تعريفها بحيث لا تفعل شيئًا سوى استهلاك الوقت والمساحة (وهو ما يعادل تعليمة NOP الرسمية لوحدة المعالجة المركزية )؛ وتُستخدم هذه الطريقة في معالجات TMS9900 و 65C02 ، من بين معالجات أخرى.بدلاً من ذلك، يمكن محاكاة التعليمات غير المعروفة في البرامج (مثل LOADALL )، أو حتى تنفيذ تعليمات زائفة "جديدة". تستفيد بعض أنظمة BIOS ، وبرامج إدارة الذاكرة، وأنظمة التشغيل من ذلك، على سبيل المثال، لتمكين مهام V86 من التواصل مع النظام الأساسي، أي BOP (من "عملية BIOS") المستخدمة بواسطة NTVDM في نظام التشغيل Windows . [ 3 ]

على الرغم من ضمانات إنتل ضد هذه التعليمات، كشفت الأبحاث التي استخدمت تقنيات مثل اختبار البرمجيات العشوائي (fuzzing) عن عدد هائل من التعليمات غير الموثقة في معالجات x86 حتى عام 2018. [ 4 ] بعض هذه التعليمات مشتركة بين مصنعي المعالجات، مما يشير إلى أن إنتل و AMD على دراية بهذه التعليمات والغرض منها، على الرغم من عدم ورودها في أي مواصفات رسمية. بينما تختص تعليمات أخرى بمصنعين أو خطوط إنتاج محددة. أما الغرض من غالبية تعليمات x86 غير الموثقة فهو غير معروف.

اليوم، تُعد تفاصيل هذه التعليمات ذات أهمية بشكل أساسي للمحاكاة الدقيقة للأنظمة القديمة.

انظر أيضاً

مراجع

  1. "1.2. تنسيق التعليمات". دليل مرجعي لجهاز PDP-10: البرمجة باستخدام مجموعة تعليمات PDP-10 (ملف PDF) . المجلد  1. شركة المعدات الرقمية (DEC). 1969. ص  1-7 . تاريخ الاسترجاع: 13 مايو 2022 .
  2. أكيسون، لينوس (31 مارس 2013). "فك تشفير GCR أثناء التشغيل" . مؤرشف من الأصل في 21 مارس 2017. تم الاسترجاع في 21 مارس 2017 .
  3. شولمان، أندرو؛ براون، رالف د .؛ ماكسي، ديفيد؛ ميشيلز، ريموند ج.؛ كايل، جيم (1994) [نوفمبر 1993]. نظام التشغيل DOS غير الموثق: دليل المبرمج لوظائف MS-DOS المحجوزة وهياكل البيانات - موسع ليشمل MS-DOS 6 وNovell DOS وWindows 3.1 ( الطبعة الثانية). ريدينغ، ماساتشوستس: أديسون ويسلي . ISBN  0-201-63287-X.(١٨+٨٥٦+٦ صفحات، قرص مرن ٣.٥ بوصة) تصحيحات:
  4. دوماس، كريستوفر (31 أغسطس 2017). "فك شفرة مجموعة تعليمات x86" . يوتيوب . مؤرشف من الأصل بتاريخ 19 ديسمبر 2021. تم الاطلاع عليه بتاريخ 3 يناير 2018 .

للمزيد من القراءة