16-05-2024, 11:21 AM
رحلة في عالم الأسمبلي
https://www.youtube.com/playlist?list=PL..._swadKSPga
# الفصل 0 : تمهيد # الفصل 1 : المفاهيم الأساسية في لغة الassembly
هذه السلسلة تركز على برمجة معالجات x86 باستخدام منصة MS-Windows. نغطي المبادئ الأساسية حول الهندسة المعمارية للحاسوب ولغة الآلة والبرمجة على مستوى منخفض. ستتعلم ما يكفي من لغة التجميع لاختبار معرفتك على أكثر عائلات المعالجات استخدامًا في الوقت الحالي.
قبل ذلك، يجب أن تكون قد أكملت دورة جامعية واحدة أو ما يعادلها في برمجة الحاسوب.
المجمع هو برنامج يحول البرامج من لغة التجميع إلى لغة الآلة. برنامج مرافق، يُدعى رابط، يجمع الملفات الفردية التي تم إنشاؤها بواسطة مجمع في برنامج قابل للتنفيذ واحد. برنامج ثالث، يُدعى مصحح أخطاء، يوفر طريقة للمبرمج لتتبع تنفيذ برنامج وفحص محتويات الذاكرة.
ستتعلم المفاهيم التالية من هذا الكتاب: الهندسة المعمارية الأساسية للحاسوب المطبقة على معالجات Intel بنوات 32 و 64؛ المنطق البولي البسيط؛ كيفية إدارة معالجات x86 للذاكرة؛ كيفية ترجمة بيانات لغات البرمجة عالية المستوى إلى لغة التجميع ورمز الآلة الأصلي؛ كيفية تنفيذ لغات البرمجة عالية المستوى للتعبيرات الحسابية والحلقات والهياكل المنطقية على مستوى الجهاز؛ وتمثيل البيانات للأعداد الصحيحة وغير الصحيحة الموقعة وغير الموقعة، والأحرف.
لغة التجميع لها علاقة واحد إلى واحد مع لغة الآلة، حيث تتوافق تعليمة لغة التجميع الواحدة مع تعليمة لغة الآلة الواحدة. لغة التجميع غير قابلة للنقل لأنها مرتبطة بعائلة معالج محددة.
لغات البرمجة هي أدوات يمكنك استخدامها لإنشاء تطبيقات فردية أو أجزاء من التطبيقات. بعض التطبيقات، مثل برامج تشغيل الأجهزة وروتينات واجهة الأجهزة، تصلح أكثر للغة التجميع. بينما تكون التطبيقات الأخرى، مثل التطبيقات التجارية والعلمية متعددة المنصات، أسهل كتابتها بلغات برمجة عالية المستوى.
مفهوم الآلة الظاهرية (VM) هو وسيلة فعّالة لإظهار كيفية تمثيل كل طبقة في هندسة الحاسوب تجريدًا للآلة. يمكن بناء الطبقات من الأجهزة أو البرمجيات، ويمكن ترجمة البرامج المكتوبة على أي طبقة إلى الطبقة الأقل بعد ذلك أو تفسيرها. يمكن ربط مفهوم الآلة الظاهرية بالطبقات الحقيقية للحاسوب، بما في ذلك المنطق الرقمي وبنية مجموعة التعليمات ولغة التجميع ولغات البرمجة عالية المستوى.
الأعداد الثنائية والست عشرية هي أدوات تدوين أساسية للمبرمجين العاملين على مستوى الجهاز. لهذا السبب، يجب عليك أن تفهم كيفية التلاعب بالأنظمة العددية والترجمة بينها، وكيفية إنشاء تمثيلات الأحرف بواسطة الحواسيب.
تم تقديم المشغلات البولية التالية في هذا الفصل: NOT وAND وOR. يجمع التعبير البولي بين مشغل بولي مع مشغل واحد أو أكثر. الجدول الحقيقي هو وسيلة فعّالة لإظهار جميع المداخل والمخرجات الممكنة لوظيفة بولية.
https://www.youtube.com/playlist?list=PL..._swadKSPga
# الفصل 0 : تمهيد # الفصل 1 : المفاهيم الأساسية في لغة الassembly
- 1.0 مقدمة
- 1.1 مرحبًا بك في لغة الAssembly
- 1.2 تطبيقات لغة الassembly
- 1.3 مفهوم الآلة الافتراضية Virtual Machine
- 1.4 تمثيل البيانات - Data Representation
- 1.4.1 الأعداد الصحيحة الثنائية - Binary Integers
- 1.4.2 ترجمة الأعداد الثنائية غير الموقعة unsigned binary integer إلى العشرية Decimal
- 1.4.3 ترجمة الأعداد العشرية غير الموقعة Unsigned Decimal إلى البيناري Binary
- 1.4.4 الجمع الثنائي - Binary Addition
- 1.4.5 أحجام تخزين الأعداد الصحيحة Integer Storage Sizes
- 1.4.6 الأعداد الست عشرية - Hexadecimal Integers
- 1.4.7 تحويل العدد الست عشري غير الموقع Unsigned Hexadecimal الى عشري Decimal
- 1.4.8 تحويل العدد العشري غير الموقع Unsigned Decimal إلى الست عشرية Hexadecimal
- 1.4.9 الجمع الست عشري - Hexadecimal Addition
- 1.4.10. الأعداد الصحيحة الثنائية الSigned التمثيل بالمكملين الاثنين Two’s-Complement
- 1.4.11 الbinary intervals للأعداد الsigned و unsigned
- 1.4.12. شرح معمق ل Signed Binary Integers
- 1.4.13 المكملين الاثنين للعدد في النظام الست عشري Hexadecimal Two’s Complement
- 1.4.14 القيم القصوى والدنيا - Ranges and Sizes of Signed Integer Types
- 1.4.15 الطرح الثنائي - Binary Subtraction
- 1.4.16 تخزّين الأحرف - Character Storage
- 1.4.17 الControl Characters ل ASCII والمصطلحات لتمثيل البيانات الرقمية
- 1.4.18 أرقام العشري المُشفرة بالنظام الثنائي - Binary-Coded Decimal (BCD) Numbers
- 1.4.1 الأعداد الصحيحة الثنائية - Binary Integers
- All 1.4.* تمثيل البيانات - Data Representation
- 1.5 التعابير بوليانية Boolean Expressions
- 1.5.0 تمهيد لتعابير بوليانية Boolean Expressions introduction
- 1.5.1 عملية NOT في تعابير بوليانية - Boolean Expressions NOT operator
- 1.5.2 عملية AND في تعابير بوليانية - Boolean Expressions AND operator
- 1.5.3 التعبيرات البولية لعامل - Boolean Expressions OR operator
- 1.5.4 ترتيب العمليات في التعابير البولية - Operator Precedence
- 1.5.5 جداول الحقيقة للدوال البولية - Truth Tables for Boolean Functions
- 1.5.0 تمهيد لتعابير بوليانية Boolean Expressions introduction
- 1.6 ملخص الفصل الأول - المفاهيم الأساسية في لغة التجميع (Assembly Language)
هذه السلسلة تركز على برمجة معالجات x86 باستخدام منصة MS-Windows. نغطي المبادئ الأساسية حول الهندسة المعمارية للحاسوب ولغة الآلة والبرمجة على مستوى منخفض. ستتعلم ما يكفي من لغة التجميع لاختبار معرفتك على أكثر عائلات المعالجات استخدامًا في الوقت الحالي.
قبل ذلك، يجب أن تكون قد أكملت دورة جامعية واحدة أو ما يعادلها في برمجة الحاسوب.
المجمع هو برنامج يحول البرامج من لغة التجميع إلى لغة الآلة. برنامج مرافق، يُدعى رابط، يجمع الملفات الفردية التي تم إنشاؤها بواسطة مجمع في برنامج قابل للتنفيذ واحد. برنامج ثالث، يُدعى مصحح أخطاء، يوفر طريقة للمبرمج لتتبع تنفيذ برنامج وفحص محتويات الذاكرة.
ستتعلم المفاهيم التالية من هذا الكتاب: الهندسة المعمارية الأساسية للحاسوب المطبقة على معالجات Intel بنوات 32 و 64؛ المنطق البولي البسيط؛ كيفية إدارة معالجات x86 للذاكرة؛ كيفية ترجمة بيانات لغات البرمجة عالية المستوى إلى لغة التجميع ورمز الآلة الأصلي؛ كيفية تنفيذ لغات البرمجة عالية المستوى للتعبيرات الحسابية والحلقات والهياكل المنطقية على مستوى الجهاز؛ وتمثيل البيانات للأعداد الصحيحة وغير الصحيحة الموقعة وغير الموقعة، والأحرف.
لغة التجميع لها علاقة واحد إلى واحد مع لغة الآلة، حيث تتوافق تعليمة لغة التجميع الواحدة مع تعليمة لغة الآلة الواحدة. لغة التجميع غير قابلة للنقل لأنها مرتبطة بعائلة معالج محددة.
لغات البرمجة هي أدوات يمكنك استخدامها لإنشاء تطبيقات فردية أو أجزاء من التطبيقات. بعض التطبيقات، مثل برامج تشغيل الأجهزة وروتينات واجهة الأجهزة، تصلح أكثر للغة التجميع. بينما تكون التطبيقات الأخرى، مثل التطبيقات التجارية والعلمية متعددة المنصات، أسهل كتابتها بلغات برمجة عالية المستوى.
مفهوم الآلة الظاهرية (VM) هو وسيلة فعّالة لإظهار كيفية تمثيل كل طبقة في هندسة الحاسوب تجريدًا للآلة. يمكن بناء الطبقات من الأجهزة أو البرمجيات، ويمكن ترجمة البرامج المكتوبة على أي طبقة إلى الطبقة الأقل بعد ذلك أو تفسيرها. يمكن ربط مفهوم الآلة الظاهرية بالطبقات الحقيقية للحاسوب، بما في ذلك المنطق الرقمي وبنية مجموعة التعليمات ولغة التجميع ولغات البرمجة عالية المستوى.
الأعداد الثنائية والست عشرية هي أدوات تدوين أساسية للمبرمجين العاملين على مستوى الجهاز. لهذا السبب، يجب عليك أن تفهم كيفية التلاعب بالأنظمة العددية والترجمة بينها، وكيفية إنشاء تمثيلات الأحرف بواسطة الحواسيب.
تم تقديم المشغلات البولية التالية في هذا الفصل: NOT وAND وOR. يجمع التعبير البولي بين مشغل بولي مع مشغل واحد أو أكثر. الجدول الحقيقي هو وسيلة فعّالة لإظهار جميع المداخل والمخرجات الممكنة لوظيفة بولية.