لغة الآلة

برنامج مراقبة لغة الآلة يعمل على معالج دقيق W65C816S ، ويعرض تفكيك التعليمات البرمجية وتفريغ سجلات المعالج والذاكرة .

في مجال الحوسبة ، تُعدّ لغة الآلة بيانات مُشفّرة ومُهيكلة للتحكم في وحدة المعالجة المركزية (CPU) للحاسوب عبر واجهتها القابلة للبرمجة . يتألف برنامج الحاسوب بشكل أساسي من تسلسلات من تعليمات لغة الآلة. [ 1 ] تُصنّف لغة الآلة كلغة أصلية بالنسبة لوحدة المعالجة المركزية المضيفة، لأنها اللغة التي تُفسّرها وحدة المعالجة المركزية مباشرةً. [ 2 ] تقوم بعض مُفسّرات البرامج بترجمة لغة البرمجة التي تُفسّرها إلى رمز آلة افتراضية ( رمز بايت ) ومعالجته باستخدام آلة رمز P.

تتسبب تعليمات لغة الآلة في قيام وحدة المعالجة المركزية بتنفيذ مهمة محددة مثل:

تُحدد بنية مجموعة التعليمات (ISA) واجهة وحدة المعالجة المركزية، وتختلف باختلاف مجموعات أو عائلات تصميم وحدات المعالجة المركزية، مثل x86 و ARM . عمومًا، لا يتوافق رمز الآلة مع عائلة معينة مع غيرها، ولكن توجد استثناءات. تتضمن بنية VAX دعمًا اختياريًا لمجموعة تعليمات PDP-11 . وتتضمن بنية IA-64 دعمًا اختياريًا لمجموعة تعليمات IA-32 . كما يمكن لمعالج PowerPC 615 معالجة تعليمات PowerPC وx86 بشكل أصلي.

لغة التجميع

ترجمة لغة التجميع إلى لغة الآلة

توفر لغة التجميع تحويلاً مباشراً نسبياً من شفرة المصدر المقروءة بشرياً إلى شفرة الآلة. تمثل شفرة المصدر في لغة التجميع الرموز العددية في شفرة الآلة، على شكل رموز مختصرة وعلامات. [ 3 ] على سبيل المثال، في لغة التجميع، يمثل رمز العملية 0x90 في شفرة الآلة رمز العملية 0x90 الخاص بمعالج x86 . مع أنه من الممكن كتابة برنامج بلغة الآلة، إلا أن ذلك شاق وعرضة للأخطاء. لذلك، تُكتب البرامج عادةً بلغة التجميع، أو بشكل أكثر شيوعاً، بلغة برمجة عالية المستوى .NOP

مجموعة التعليمات

تُشفّر تعليمات الآلة عمليةً ما كنمط من البتات بناءً على التنسيق المحدد لمجموعة تعليمات الآلة. [ ملاحظة 1 ] [ 4 ]

تختلف مجموعات التعليمات في جوانب عديدة. فقد تكون جميع تعليمات المجموعة متساوية الطول، أو قد تختلف أطوالها؛ وقد تكون أصغر من حجم كلمة بنية المعالج، أو مساوية له، أو أكبر منه. وقد يكون عدد التعليمات صغيرًا نسبيًا أو كبيرًا. وقد يُشترط أو لا يُشترط محاذاة التعليمات على حدود ذاكرة معينة، مثل حدود كلمة بنية المعالج. [ 4 ]

تحتاج مجموعة التعليمات إلى تنفيذ دوائر مستوى المنطق الرقمي للحاسوب . على المستوى الرقمي، يحتاج البرنامج إلى التحكم في سجلات الحاسوب، وناقل البيانات، والذاكرة، ووحدة الحساب والمنطق، ومكونات الأجهزة الأخرى. [ 5 ] وللتحكم في خصائص بنية الحاسوب ، تُنشأ تعليمات الآلة. ومن أمثلة الخصائص التي تُتحكم بها باستخدام تعليمات الآلة:

تشمل معايير أساليب التدريس ما يلي:

  • ينبغي أن تكون التعليمات الأكثر استخداماً أقصر من التعليمات النادرة الاستخدام. [ 4 ]
  • يحدد معدل نقل الذاكرة للأجهزة الأساسية مدى مرونة تعليمات جلب الذاكرة.
  • يتطلب عدد البتات في حقل العنوان عناية خاصة. [ 9 ]

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

يمكن تقسيم التعليمات إلى نوعين: تعليمات عامة وتعليمات خاصة. تستغل التعليمات الخاصة خصائص معمارية فريدة خاصة بكل حاسوب، بينما تتحكم التعليمات العامة في خصائص معمارية مشتركة بين جميع الحواسيب. [ 10 ]

تعليمات التحكم للأغراض العامة:

  • نقل البيانات من مكان إلى آخر
  • العمليات الأحادية التي لها معامل واحد لإنتاج نتيجة
  • العمليات الثنائية التي تتطلب مُعاملين لإنتاج نتيجة
  • المقارنات والقفزات الشرطية
  • مكالمات الإجراءات
  • التحكم الحلقي
  • المدخلات/المخرجات

تعليمات متداخلة

في معالجات ذات مجموعات تعليمات متغيرة الطول [ 11 ] (مثل عائلة معالجات x86 من إنتل )، ضمن حدود ظاهرة إعادة تزامن تدفق التحكم المعروفة باسم عدّ كروسكال [ 12 ] [ 11 ] [ 13 ] [ 14 ] [ 15 ] ، يُمكن أحيانًا، من خلال برمجة مستوى رمز العملية، ترتيب الكود الناتج عمدًا بحيث يتشارك مساران برمجيان جزءًا مشتركًا من تسلسلات رموز العمليات. [ ملاحظة 2 ] تُسمى هذه التعليمات بتعليمات متداخلة ، أو رموز عمليات متداخلة ، أو كود متداخل ، أو كود متداخل ، أو انقطاع التعليمات ، أو القفز إلى منتصف التعليمات . [ 16 ] [ 17 ] [ 18 ]

في سبعينيات وثمانينيات القرن الماضي، استُخدمت التعليمات المتداخلة أحيانًا لتوفير مساحة الذاكرة. ومن الأمثلة على ذلك تطبيق جداول الأخطاء في لغة Altair BASIC من مايكروسوفت ، حيث تتشارك التعليمات المتداخلة بايتاتها. [ 19 ] [ 11 ] [ 16 ] نادرًا ما تُستخدم هذه التقنية اليوم، ولكن قد يظل اللجوء إليها ضروريًا في المجالات التي تتطلب تحسينًا بالغًا لحجم البيانات على مستوى البايت، كما هو الحال في تطبيق برامج تحميل الإقلاع التي يجب أن تتناسب مع قطاعات الإقلاع . [ ملاحظة 3 ]

كما يُستخدم أحيانًا كتقنية لإخفاء الشفرة كإجراء وقائي ضد التفكيك والتلاعب. [ 11 ] [ 14 ]

يُستخدم هذا المبدأ أيضًا في تسلسلات التعليمات البرمجية المشتركة للملفات الثنائية الضخمة التي يجب أن تعمل على منصات معالجات متعددة غير متوافقة مع مجموعات التعليمات. [ ملاحظة 2 ]

تُستخدم هذه الخاصية أيضًا للعثور على التعليمات غير المقصودة التي تُسمى الأدوات في مستودعات التعليمات البرمجية الموجودة، وتُستخدم في البرمجة الموجهة نحو العودة كبديل لحقن التعليمات البرمجية لاستغلال الثغرات الأمنية مثل هجمات العودة إلى مكتبة libc . [ 20 ] [ 11 ]

الشفرة المصغرة

في بعض الحواسيب، تُنفَّذ لغة الآلة الخاصة بالبنية بواسطة طبقة أساسية أكثر جوهرية تُسمى الشفرة المصغرة ، والتي توفر واجهة لغة آلة مشتركة عبر سلسلة أو عائلة من نماذج الحواسيب المختلفة ذات تدفقات البيانات الأساسية المتباينة بشكل كبير . ويتم ذلك لتسهيل نقل برامج لغة الآلة بين النماذج المختلفة. [ 21 ] ومن الأمثلة على هذا الاستخدام عائلة حواسيب IBM System/360 وخلفائها. [ 22 ]

أمثلة

آي بي إم 650

فصل دراسي في مدرسة ثانوية عام 1960 مع مخطط رموز تعليمات IBM 650 فوق السبورة، أعلى اليمين
برنامج طلابي من عام 1961 مكتوب بلغة الآلة IBM 650، استنادًا إلى تمرين من كتاب مدرسي

كان جهاز IBM 650 ، الذي طُرح عام 1954، حاسوبًا عشريًا يعمل بنظام العنونة اللفظية، حيث تُخزَّن التعليمات والبيانات على أسطوانة مغناطيسية. تتألف كل كلمة من عشرة أرقام بالإضافة إلى علامة الجمع (+). تقسم التعليمات الكلمات إلى رمز عملية مكون من رقمين، وعنوان مكون من أربعة أرقام لكلمة البيانات المراد معالجتها، وعنوان مكون من أربعة أرقام للتعليمات التالية المراد تنفيذها. يسمح العنوان الثاني بوضع التعليمات على الأسطوانة بالقرب من موضعها بعد اكتمال التعليمات السابقة، وهي ممارسة تُعرف باسم التحسين. [ 23 ]

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

IBM 709x

تخزن أجهزة IBM 704 و709 و704x و709x تعليمة واحدة في كل كلمة تعليمة؛ وتقوم IBM بترقيم البتات من اليسار كـ S، 1، ...، 35. تأتي معظم التعليمات بأحد تنسيقين:

نوعي
S,1-11
تم تجاهل العلم 12-13 في بعض التعليمات
14-17 غير مستخدمة
18-20 تاج
21-35 سنة
التحكم في سجل الفهرس، بخلاف TSX
S,1-2 رمز العملية
انخفاض من 3 إلى 17
18-20 تاج
21-35 سنة

باستثناء جهازي IBM 7094 و7094 II، تحتوي جميع أجهزة IBM على ثلاثة سجلات فهرسة مُعَلَّمة A وB وC. يؤدي استخدام بتات 1 متعددة في علامة الفهرسة إلى طرح عملية OR المنطقية من سجلات الفهرسة المُختارة، بينما يؤدي استخدام بتات 1 متعددة في علامة الفهرسة إلى تحميل جميع سجلات الفهرسة المُختارة. يحتوي جهازا 7094 و7094 II على سبعة سجلات فهرسة، ولكن عند تشغيلهما، يكونان في وضع علامات الفهرسة المتعددة ، حيث يستخدمان ثلاثة سجلات فهرسة فقط بطريقة متوافقة مع الأجهزة السابقة، ويتطلب الوصول إلى سجلات الفهرسة الأربعة الأخرى تنفيذ تعليمة " الخروج من وضع علامات الفهرسة المتعددة" ( LMTM ).

العنوان الفعلي عادةً هو YC(T)، حيث C(T) إما 0 لعلامة قيمتها 0، أو القيمة المنطقية OR لسجلات الفهرسة المحددة في وضع العلامات المتعددة، أو سجل الفهرسة المحدد في حال عدم وجود وضع العلامات المتعددة. مع ذلك، فإن العنوان الفعلي لتعليمات التحكم في سجل الفهرسة هو Y فقط.

العلم الذي يحتوي على كلا البتات 1 يحدد التوجيه غير المباشر؛ كلمة العنوان غير المباشر تحتوي على كل من علامة وحقل Y.

بالإضافة إلى تعليمات النقل (التفرع)، تحتوي هذه الآلات على تعليمات تخطي تتخطى كلمة أو كلمتين بشكل مشروط، على سبيل المثال، تقوم عملية مقارنة المُجمِّع مع التخزين (CAS) بمقارنة ثلاثية وتتخطى بشكل مشروط إلى NSI أو NSI+1 أو NSI+2، اعتمادًا على النتيجة.

نظام MIPS

توفر بنية MIPS مثالًا محددًا لرمز آلة تكون تعليماته دائمًا بطول 32 بت. [ 24 ] : 299 يُحدد النوع العام للتعليمات بواسطة حقل op (العملية)، وهو أعلى 6 بتات. تُحدد تعليمات النوع J (القفز) والنوع I (التنفيذ الفوري) بالكامل بواسطة op . تتضمن تعليمات النوع R (المسجل) حقل funct (الدالة) إضافيًا لتحديد العملية بدقة. الحقول المستخدمة في هذه الأنواع هي:

يكتب-31- تنسيق (بتات) -0-                                
Rرمز العملية (6)rs (5)rt (5)rd (5)شامت (5)دالة (6)
أنارمز العملية (6)rs (5)rt (5)فوري (16)
جرمز العملية (6)العنوان (26)

تشير rs و rt و rd إلى معاملات التسجيل؛ بينما يحدد shamt مقدار الإزاحة؛ وتحتوي حقول العنوان أو الحقول الفورية على معامل بشكل مباشر. [ 24 ] : 299-301

على سبيل المثال، يتم ترميز جمع المسجلين 1 و2 ووضع النتيجة في المسجل 6 على النحو التالي: [ 24 ] : 554

[ op | rs | rt | rd |shamt| funct] 0 1 2 6 0 32 عشري 000000 00001 00010 00110 00000 100000 ثنائي

قم بتحميل قيمة في المسجل 8، مأخوذة من خلية الذاكرة التي تقع بعد 68 خلية من الموقع المذكور في المسجل 3: [ 24 ] : 552

[ op | rs | rt | address/immediate] 35 3 8 68 عشري 100011 00011 01000 00000 00001 000100 ثنائي

الانتقال إلى العنوان 1024: [ 24 ] : 552

[ op | عنوان الهدف ] 2 1024 عشري 000010 00000 00000 00000 10000 000000 ثنائي

بايت كود

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

تخزين

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

من وجهة نظر العملية ، يوجد رمز الآلة في مساحة الرمز ، وهي جزء مُخصص من مساحة عنوانها . في بيئة متعددة الخيوط ، تتشارك الخيوط المختلفة لعملية واحدة مساحة الرمز بالإضافة إلى مساحة البيانات، مما يقلل بشكل كبير من عبء تبديل السياق مقارنةً بتبديل العمليات. [ 26 ]

سهولة القراءة

يُعتبر رمز الآلة عمومًا غير قابل للقراءة البشرية، [ 27 ] وقد شبّهه دوغلاس هوفستاتر بفحص ذرات جزيء الحمض النووي . [ 28 ] ومع ذلك، توجد أدوات وأساليب متنوعة تدعم فهم رمز الآلة.

تُفكك عملية التفكيك شفرة لغة الآلة إلى لغة التجميع، وهو أمر ممكن لأن تعليمات التجميع غالباً ما يمكن ربطها بشكل مباشر بتعليمات الآلة. [ 29 ]

يقوم برنامج فك التشفير بتحويل كود الآلة إلى لغة عالية المستوى ، ولكن النتيجة قد تكون مبهمة نسبياً (يصعب فهمها).

يمكن ربط البرنامج برموز تصحيح الأخطاء (سواءً كانت مضمنة في الملف التنفيذي الأصلي أو في ملف منفصل) والتي تسمح بربطه بشفرة مصدرية خارجية. يقرأ مصحح الأخطاء هذه الرموز لمساعدة المبرمج على تصحيح البرنامج بشكل تفاعلي. ومن الأمثلة على ذلك:

انظر أيضاً

ملحوظات

  1. في آلات العد العشري القديمة، أنماط الأحرف والأرقام وعلامات الأرقام
  2. 1 2 في حين أنه يمكن أحيانًا ترتيب التعليمات المتداخلة على بنى المعالجات ذات مجموعات التعليمات ذات الطول المتغير لدمج مسارات التعليمات البرمجية المختلفة مرة أخرى في مسار واحد من خلال إعادة مزامنة تدفق التحكم ، يمكن أيضًا تصميم التعليمات البرمجية المتداخلة لبنى المعالجات المختلفة في بعض الأحيان للتسبب في تفرع مسارات التنفيذ في اتجاهات مختلفة اعتمادًا على المعالج الأساسي، كما هو مستخدم أحيانًا في الملفات الثنائية السميكة .
  3. على سبيل المثال، كانت سجلات التمهيد الرئيسية (MBRs) وقطاعات التمهيد في نظام التشغيل DR-DOS (التي تحتوي أيضًا على جدول الأقسام وكتلة معلمات BIOS ، مما يترك أقل من 446و423بايت للتعليمات البرمجية) قادرة تقليديًا على تحديد موقع ملف التمهيد في نظام الملفات FAT12 أو FAT16 بنفسها وتحميله في الذاكرة ككل، على عكس نظيراتها في نظامي التشغيل MS-DOS و PC DOS ، والتي تعتمد بدلاً من ذلك على ملفات النظام لشغل أول موقعين لإدخال الدليل في نظام الملفات، وعلى تخزين القطاعات الثلاثة الأولى من ملف IBMBIO.COM في بداية منطقة البيانات في قطاعات متجاورة تحتوي على مُحمِّل ثانوي لتحميل باقي الملف في الذاكرة (مما يتطلب من SYS الاهتمام بكل هذه الشروط). عندإضافة دعم نظام الملفات FAT32 وعنونة الكتل المنطقية (LBA)، لجأت مايكروسوفت إلى اشتراط استخدام تعليمات i386 وتقسيم رمز الإقلاع على قطاعين لتقليل حجمه، وهو ما لم يكن خيارًا مناسبًا لنظام DR-DOS لأنه كان سيؤدي إلى فقدان التوافق مع الإصدارات السابقة والتوافق المتبادل مع أنظمة التشغيل الأخرى في سيناريوهات الإقلاع المتعدد والتحميل المتسلسل ، كما هو الحال مع أجهزة الكمبيوتر القديمة المتوافقة مع IBM PC . لذا،اعتمدت قطاعات الإقلاع في DR-DOS 7.07 على تعديل الرمز ذاتيًا ، والبرمجة على مستوى رمز العملية بلغة الآلة، والاستخدام المُتحكم به للآثار الجانبية (الموثقة) ، وتداخل البيانات/الرمز على مستويات متعددة، وتقنيات الطي الخوارزمية ، وذلك لاحتواء كل شيء في قطاع فعلي بحجم 512 بايت فقط دون التخلي عن أي من وظائفها الموسعة.

مراجع

  1. ستالينغز، ويليام (2015). تنظيم وبنية الحاسوب، الطبعة العاشرة . بيرسون برنتيس هول. ص  776. ISBN 978-93-325-7040-5.
  2. غريغوري، كيت (28 أبريل 2003). "مُدار، غير مُدار، أصلي: ما نوع هذا الكود؟" . Developer.com . مؤرشف من الأصل في 23 سبتمبر 2009. تم الاطلاع عليه في 2 سبتمبر 2008 .
  3. دوريش، بول (2004). حيث يكمن الفعل: أسس التفاعل الجسدي . مطبعة معهد ماساتشوستس للتكنولوجيا . ص 7. ISBN  0-262-54178-5تم الاطلاع عليه بتاريخ 2023-03-05 .
  4. 1 2 3 تانينباوم 1990 ، ص 251 
  5. تانينباوم 1990 ، ص 162 
  6. تانينباوم 1990 ، ص 231 
  7. تانينباوم 1990 ، ص 237 
  8. تانينباوم 1990 ، ص 236 
  9. 1 2 تانينباوم 1990 ، ص 253 
  10. تانينباوم 1990 ، ص 283 
  11. 1 2 3 4 5 جاكوب، ماتياس؛ جاكوبوفسكي، ماريوس هـ.؛ فينكاتيسان، راماراثنام [في ويكي بيانات] (20-21 سبتمبر 2007). نحو تنفيذ ثنائي متكامل: تطبيق التجزئة غير الواعية باستخدام ترميزات التعليمات المتداخلة (PDF) . وقائع ورشة العمل التاسعة حول الوسائط المتعددة والأمن (MM&Sec '07). دالاس، تكساس، الولايات المتحدة الأمريكية: رابطة آلات الحوسبة . الصفحات 129-140 . CiteSeerX 10.1.1.69.5258 . doi : 10.1145/1288869.1288887 . ISBN   978-1-59593-857-2S2CID 14174680. مؤرشف (PDF) من الأصل بتاريخ 2018-09-04 . تم الاطلاع عليه بتاريخ 2021-12-25 . (12 صفحة)
  12. لاغارياس، جيفري "جيف" كلارك ؛ راينز، إريك مايكل ؛ فاندرباي، روبرت ج. (2009) [2001-10-13]. "حساب كروسكال". في: برامز، ستيفن؛ غيرلين، ويليام ف.؛ روبرتس، فريد س. (محررون). رياضيات التفضيل والاختيار والترتيب . دراسات في الاختيار والرفاهية. برلين/هايدلبرغ، ألمانيا: سبرينغر-فيرلاغ . ص 371-391 . arXiv : math/0110143 . doi : 10.1007/978-3-540-79128-7_23 . ISBN  978-3-540-79127-0.(22 صفحة)
  13. أندريسي، دينيس؛ بوس، هربرت [في ويكي بيانات] (10 يوليو 2014). كُتب في جامعة فريجي أمستردام، أمستردام، هولندا. ديتريش، سفين (محرر). إخفاء المعلومات على مستوى التعليمات للبرمجيات الخبيثة السرية القائمة على المحفزات (ملف PDF) . المؤتمر الدولي الحادي عشر حول الكشف عن الاختراقات والبرمجيات الخبيثة، وتقييم الثغرات الأمنية (DIMVA). سلسلة محاضرات في علوم الحاسوب . إيغام، المملكة المتحدة؛ سويسرا: دار نشر سبرينغر الدولية . الصفحات 41-50 [45]. doi : 10.1007/978-3-319-08509-8_3 . eISSN 1611-3349 . ISBN   978-3-31908508-1ISSN 0302-9743 . S2CID 4634611. LNCS 8550. مؤرشف (PDF) من الأصل بتاريخ 26-08-2023 . تم الاطلاع عليه بتاريخ 26-08-2023 .  (10 صفحات)
  14. 1 2 جاكوبوفسكي، ماريوس هـ. (فبراير 2016). "نموذج قائم على الرسم البياني لحماية البرمجيات من العبث" . مايكروسوفت . مؤرشف من الأصل في 31 أكتوبر 2019. تم الاسترجاع في 19 أغسطس 2023 .
  15. يامثاجن، كريستوفر (نوفمبر 2016). حول الأساليب الهجومية والدفاعية في أمن البرمجيات (ملف PDF) (أطروحة). لوند، السويد: قسم الهندسة الكهربائية وتكنولوجيا المعلومات، جامعة لوند . ص 96. ISBN  978-91-7623-942-1ISSN 1654-790X . مؤرشف (PDF) من الأصل بتاريخ 26 أغسطس 2023. تم الاطلاع عليه بتاريخ 26 أغسطس 2023 . (1+17+1+152 صفحة)
  16. 1 2 "تعليمات غير مقصودة على معالجات x86" . هاكر نيوز . 2021. مؤرشف من الأصل بتاريخ 25-12-2021 . تم الاطلاع عليه بتاريخ 24-12-2021 .
  17. ^ كيندر ، يوهانس (24/09/2010). التحليل الثابت للملفات التنفيذية x86 [ التحليل الإحصائي للبرامج في x86 Maschinensprache ] (PDF) (أطروحة). ميونيخ، ألمانيا: جامعة دارمشتات التقنية . د17. مؤرشفة من الأصلي بتاريخ 2020-11-12 . تم الاسترجاع بتاريخ 2021-12-25 .(199 صفحة)
  18. "ما هو التمويه الناتج عن "تداخل التعليمات"؟" . موقع Reverse Engineering Stack Exchange . 2013-04-07. مؤرشف من الأصل في 2021-12-25 . تم الاطلاع عليه في 2021-12-25 .
  19. غيتس، ويليام "بيل" هنري ، مراسلة شخصية(ملاحظة: وفقًا لجاكوب وآخرون .)
  20. شاشام، هوفاف (2007). هندسة اللحم البريء على العظم: العودة إلى مكتبة libc بدون استدعاءات الدوال (على معالج x86) (ملف PDF) . وقائع مؤتمر ACM، CCS 2007. مطبعة ACM . مؤرشف (ملف PDF) من الأصل بتاريخ 15 ديسمبر 2021. تم الاطلاع عليه بتاريخ 24 ديسمبر 2021 .
  21. كينت، ألين؛ ويليامز، جيمس ج. (5 أبريل 1993). موسوعة علوم وتكنولوجيا الحاسوب: المجلد 28 - الملحق 13: تطبيقات الذكاء الاصطناعي في هياكل الأشجار . مطبعة سي آر سي. الصفحات 33-34 . ISBN  978-0-8247-2281-4.
  22. تاكر، إس جي (31 ديسمبر 1967). "التحكم بالبرامج المصغرة لنظام SYSTEM/360" . مجلة أنظمة IBM . 6 (4): 222-241 . doi : 10.1147/sj.64.0222 . ISSN 0018-8670 عبر IEEE Xplore. 
  23. أندري، ريتشارد ف. (1958). برمجة جهاز الكمبيوتر ذي الأسطوانة المغناطيسية IBM 650 وآلة معالجة البيانات (PDF) .
  24. 1 2 3 4 5 هاريس، ديفيد؛ هاريس، سارة ل. (2007). التصميم الرقمي وهندسة الحاسوب . دار مورغان كوفمان للنشر . ISBN 978-0-12-370497-9تم الاطلاع عليه بتاريخ 2023-03-05 .
  25. سو، تشاو؛ زينغ، تشينغكاي (2021). "دراسة استقصائية لهجمات القنوات الجانبية القائمة على ذاكرة التخزين المؤقت لوحدة المعالجة المركزية: تحليل منهجي، ونماذج أمنية، وتدابير مضادة" . شبكات الأمن والاتصالات . 2021 (1) 5559552. doi : 10.1155/2021/5559552 . ISSN 1939-0122 . 
  26. "ملاحظات مقرر CS 537، القسم 3أ: العمليات والخيوط" . pages.cs.wisc.edu . كلية علوم الحاسوب والبيانات والمعلومات، جامعة ويسكونسن-ماديسون . تاريخ الاسترجاع: 18 يوليو 2025 .
  27. سامويلسون 1984 ، ص 683.
  28. هوفستاتر 1979 ، ص 290 . 
  29. تانينباوم 1990 ، ص 398 . 
  30. "بنية البيانات المرتبطة" . ميزة المُجمِّع عالي المستوى ومجموعة الأدوات .
  31. "مخرجات ملف البيانات المرتبطة" (ملف PDF) . مُجمِّع عالي المستوى لأنظمة z/OS و z/VM و z/VSE - 1.6 - دليل المبرمج HLASM (ملف PDF) (الطبعة الثامنة ). IBM . أكتوبر 2022. الصفحات 278-332 . SC26-4941-07 . تاريخ الاسترجاع: 14 فبراير 2025 .  
  32. "محتويات ملف بيانات نظام COBOL" . COBOL المؤسسي لنظام التشغيل z/OS .
  33. "معلومات رسالة SYSADATA" . معلومات Enterprise PL/I لنظام التشغيل z/OS 6.1 . 17-03-2025.
  34. "الملحق ج. تنسيق ملف الكائن المعمم (GOFF)" (ملف PDF) . z/OS - 3.1 - إدارة برنامج MVS: المرافق المتقدمة (ملف PDF) . IBM . 18-12-2024. الصفحات 201-240 . SA23-1392-60 . تاريخ الاسترجاع: 14-02-2025 . 
  35. "رموز تصحيح أخطاء ويندوز" . مايكروسوفت ليرن . 2022-12-20.
  36. "الاستعلام عن ملف .Pdb" . مايكروسوفت ليرن . 12-01-2024.

مصادر

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