R333T
08-05-2024, 06:04 PM
رحلة في عالم الأسمبلي
https://www.youtube.com/playlist?list=PL..._swadKSPga
# الفصل 0 : تمهيد # الفصل 1 : المفاهيم الأساسية في لغة الassembly
https://www.youtube.com/watch?v=lMEd7MOhGPo
تطبيقات لغة الassembly
في بدايات البرمجة، كان معظم التطبيقات مكتوبة جزئيًا أو تمامًا بلغة الassembly.
كان عليها أن تتناسب مع مساحة صغيرة في الذاكرة وتعمل بأقصى كفاءة ممكنة على المعالجات البطيئة.
مع تزايد توافر الذاكرة وزيادة ملحوظة في سرعة المعالجات، أصبحت البرامج أكثر تعقيدًا.
انتقل المبرمجون إلى لغات عالية المستوى مثل C وFORTRAN وCOBOL التي تحتوي على قدر معين من القدرة على التنظيم.
في الآونة الأخيرة، جعلت لغات البرمجة object-oriented مثل Python وC++ وC# وJava من الممكن كتابة برامج معقدة تحتوي على ملايين الأسطر من الكود.
من النادر رؤية برامج التطبيقات الكبيرة مبرمجة بالكامل بلغة الassembly لأنها ستستغرق وقتًا طويلاً جدًا للكتابة والصيانة. بدلاً من ذلك، يتم استخدام لغة الassembly لتحسين بعض أقسام التطبيقات من أجل السرعة والوصول إلى أجهزة الكمبيوتر. يقارن الجدول مرونة لغة الassembly مع لغات البرمجة ذات المستوى العالي فيما يتعلق بأنواع مختلفة من التطبيقات.
جدول ١-١ مقارنة بين لغة الassembly واللغات عالية المستوى.
اللغتان C و C++ لديهما جودة فريدة من نوعها تتمثل في تقديم توازن بين الهيكل عالي المستوى والتفاصيل منخفضة المستوى. يُمكن الوصول المباشر إلى الأجهزة ولكنه غير قابل للنقل تمامًا. يسمح معظم مترجمي C و C++ بتضمين بيانات لغة التجميع في رمزها، مما يوفر وصولًا إلى تفاصيل الأجهزة.
# الاختبارات:
1- ما المقصود بالعلاقة الواحد إلى الكثير عند مقارنة لغة عالية المستوى بلغة الآلة؟
**الجواب:** كل بيان في لغة عالية المستوى يتطابق مع عدة بيانات في لغة الآلة.
2- شرح مفهوم النقلية كما ينطبق على لغات البرمجة.
**الجواب:** يمكن تجميع برنامج المصدر المكتوب باللغة وتشغيله على أي نظام تشغيل مستهدف مع تغييرات بسيطة.
3- كيف سيعزز دراسة لغة التجميع فهمك لأنظمة التشغيل؟
**الجواب:** يسمح لك بفهم التفاعل بين الأجهزة الحاسوبية وأنظمة التشغيل وبرامج التطبيق.
4- ماذا يعني البيان التالي حول فحص صيغة لغة التجميع؟ "معظم القواعد في لغة التجميع مبنية على القيود الفعلية للمعالج المستهدف ولغته الآلية."؟
**الجواب:** أن أنواع المتغيرات تتوافق مع أحجام البيانات القياسية للأجهزة، ولكن محتواها لا يتم التحقق من صحته بأي طريقة أخرى.
5- اسم طرفين من التطبيقات التي ستكون مناسبة بشكل أفضل للغة التجميع من لغة عالية المستوى.
أ. تطبيقات موجهة للعملاء والتطبيقات العلمية
ب. واجهات المستخدم الرسومية وبرامج تشغيل الأجهزة
ج. برامج تشغيل الأجهزة والرسوميات عالية الأداء
د. تطبيقات قابلة للنقل لمعالجة البيانات العلمية والمالية
**الجواب:** ج. برامج تشغيل الأجهزة والرسوميات عالية الأداء
https://www.youtube.com/playlist?list=PL..._swadKSPga
# الفصل 0 : تمهيد # الفصل 1 : المفاهيم الأساسية في لغة الassembly
- 1.0 مقدمة
- 1.1 مرحبًا بك في لغة الAssembly
- 1.2 تطبيقات لغة الassembly
https://www.youtube.com/watch?v=lMEd7MOhGPo
تطبيقات لغة الassembly
في بدايات البرمجة، كان معظم التطبيقات مكتوبة جزئيًا أو تمامًا بلغة الassembly.
كان عليها أن تتناسب مع مساحة صغيرة في الذاكرة وتعمل بأقصى كفاءة ممكنة على المعالجات البطيئة.
مع تزايد توافر الذاكرة وزيادة ملحوظة في سرعة المعالجات، أصبحت البرامج أكثر تعقيدًا.
انتقل المبرمجون إلى لغات عالية المستوى مثل C وFORTRAN وCOBOL التي تحتوي على قدر معين من القدرة على التنظيم.
في الآونة الأخيرة، جعلت لغات البرمجة object-oriented مثل Python وC++ وC# وJava من الممكن كتابة برامج معقدة تحتوي على ملايين الأسطر من الكود.
من النادر رؤية برامج التطبيقات الكبيرة مبرمجة بالكامل بلغة الassembly لأنها ستستغرق وقتًا طويلاً جدًا للكتابة والصيانة. بدلاً من ذلك، يتم استخدام لغة الassembly لتحسين بعض أقسام التطبيقات من أجل السرعة والوصول إلى أجهزة الكمبيوتر. يقارن الجدول مرونة لغة الassembly مع لغات البرمجة ذات المستوى العالي فيما يتعلق بأنواع مختلفة من التطبيقات.
جدول ١-١ مقارنة بين لغة الassembly واللغات عالية المستوى.
اللغتان C و C++ لديهما جودة فريدة من نوعها تتمثل في تقديم توازن بين الهيكل عالي المستوى والتفاصيل منخفضة المستوى. يُمكن الوصول المباشر إلى الأجهزة ولكنه غير قابل للنقل تمامًا. يسمح معظم مترجمي C و C++ بتضمين بيانات لغة التجميع في رمزها، مما يوفر وصولًا إلى تفاصيل الأجهزة.
# الاختبارات:
1- ما المقصود بالعلاقة الواحد إلى الكثير عند مقارنة لغة عالية المستوى بلغة الآلة؟
**الجواب:** كل بيان في لغة عالية المستوى يتطابق مع عدة بيانات في لغة الآلة.
2- شرح مفهوم النقلية كما ينطبق على لغات البرمجة.
**الجواب:** يمكن تجميع برنامج المصدر المكتوب باللغة وتشغيله على أي نظام تشغيل مستهدف مع تغييرات بسيطة.
3- كيف سيعزز دراسة لغة التجميع فهمك لأنظمة التشغيل؟
**الجواب:** يسمح لك بفهم التفاعل بين الأجهزة الحاسوبية وأنظمة التشغيل وبرامج التطبيق.
4- ماذا يعني البيان التالي حول فحص صيغة لغة التجميع؟ "معظم القواعد في لغة التجميع مبنية على القيود الفعلية للمعالج المستهدف ولغته الآلية."؟
**الجواب:** أن أنواع المتغيرات تتوافق مع أحجام البيانات القياسية للأجهزة، ولكن محتواها لا يتم التحقق من صحته بأي طريقة أخرى.
5- اسم طرفين من التطبيقات التي ستكون مناسبة بشكل أفضل للغة التجميع من لغة عالية المستوى.
أ. تطبيقات موجهة للعملاء والتطبيقات العلمية
ب. واجهات المستخدم الرسومية وبرامج تشغيل الأجهزة
ج. برامج تشغيل الأجهزة والرسوميات عالية الأداء
د. تطبيقات قابلة للنقل لمعالجة البيانات العلمية والمالية
**الجواب:** ج. برامج تشغيل الأجهزة والرسوميات عالية الأداء