لغة التجميع: الفرق بين النسختين

[مراجعة غير مفحوصة][مراجعة غير مفحوصة]
تم حذف المحتوى تمت إضافة المحتوى
ط تعديل طفيف
ط بوت:إضافة وصلة أرشيفية.
سطر 26:
|url=https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.asma400/toc.htm
|date=2014 |orig-year=1990 |publisher=[[آي بي إم]]
}}</ref> ('''{{إنج|Assembly Languages}}''' والتي يمكن اختصارها إلى '''asm''')، هي أي [[لغة البرمجة منخفضة المستوى|لغة برمجة منخفضة المستوى]] يوجد بها تطابق قوي جدًا بين التعليمات في اللغة و[[مجموعة التعليمات|تعليمات]] [[لغة الآلة]] الخاصة [[معمارية الحاسوب|بالمعمارية]].<ref name="Saxon_1962">{{استشهاد بكتاب |author-first1=James A. |author-last1=Saxon |author-first2=William S. |author-last2=Plette |عنوان=Programming the IBM 1401, a self-instructional programmed manual |مكان=Englewood Cliffs, New Jersey, USA |ناشر=[[Prentice-Hall]] |تاريخ=1962 |lccn=62-20615 |مسار= https://babel.hathitrust.org/cgi/pt?id=mdp.39015000480718;view=2up;seq=6|مسار أرشيف= https://web.archive.org/web/20201004162940/https://babel.hathitrust.org/cgi/pt?id=mdp.39015000480718;view=2up;seq=6
|تاريخ أرشيف=2020-10-04}} (NB. Use of the term ''assembly program''.)</ref> نظرًا لأن التجميع يعتمد على تعليمات لغة الآلة، فقد تم تصميم كل لغة تجميع لمعمارية كمبيوتر محددة واحدة بالضبط. قد تسمى لغة التجميع أيضًا رمز الآلة الرمزي.<ref name="Ohio_2016">{{citeاستشهاد webويب |titleعنوان=Assembly: Review |volumeالمجلد=Lecture 14 |seriesسلسلة=Computer Science and Engineering |publisher=College of Engineering, [[جامعة ولاية أوهايو]] |dateتاريخ=2016 |urlمسار=http://web.cse.ohio-state.edu/~sivilotti.1/teaching/3903.recent/lectures/lecture14.pdf |access-dateتاريخ الوصول=2020-03-24 |url-statusحالة المسار=live |archive-urlمسار أرشيف=https://web.archive.org/web/20200324153925/http://web.cse.ohio-state.edu/~sivilotti.1/teaching/3903.recent/lectures/lecture14.pdf |archive-dateتاريخ أرشيف=2020-03-24}}</ref><ref name="Archer_2016">{{استشهاد بكتاب |عنوان=Assembly Language For Students |مسار=https://dl.acm.org/citation.cfm?id=3125846 |author-first=Benjamin |author-last=Archer |تاريخ=November 2016 |ناشر=[[CreateSpace Independent Publishing]] |مكان=North Charleston, South Carolina, USA |isbn=978-1-5403-7071-6 |اقتباس=Assembly language may also be called symbolic machine code.}}</ref>
 
يتم تحويل لغة التجميع إلى لغة آلة قابل للتنفيذ بواسطة [[برمجيات الخدمات|برنامج الأداة المساعدة]] المشار إليه بإسم [[لغة التجميع#المجمع|المُجمع]]. يشار إلى عملية التحويل بإسم التجميع، كما هو الحال في تجميع [[شيفرة مصدرية|شفرة المصدر]]. عادةً ما تحتوي لغة التجميع على بيان واحد لكل تعليمه للآلة (1: 1)، ولكن [[تعليق (برمجة)|التعليقات]] والبيانات هي توجيهات للمُجمِّع،<ref name="Kornelis_2010">{{citeاستشهاد webويب |titleعنوان=High Level Assembler – Opcodes overview, Assembler Directives |author-first=A. F. |author-last=Kornelis |dateتاريخ=2010 |orig-yearسنة النشر الأصلية=2003 |urlمسار=http://www.bixoft.nl/english/opcd00.htm |access-dateتاريخ الوصول=2020-03-24 |url-statusحالة المسار=live |archive-urlمسار أرشيف=https://web.archive.org/web/20200324151326/http://www.bixoft.nl/english/opcd00.htm |archive-dateتاريخ أرشيف=2020-03-24}}</ref> [[ماكرو (علم الحاسوب)|ماكرو]]،<ref name="IBM_2014_Macro">{{cite manual
|title=High Level Assembler for z/OS & z/VM & z/VSE Language Reference Version 1 Release 6
|id=SC26-4940-06
السطر 37 ⟵ 38:
}}</ref><ref name="IBM_2014_ASM" /> وغالبًا ما يتم أيضًا دعم التسميات الرمزية لمواقع البرامج و[[عنوان الذاكرة|الذاكرة]].
 
يُنسب مصطلح المُجمع "{{إنج|assembler}}" بشكل عام إلى [[موريس ويلكس]] وديفيد ويلر وستانلي جيل في كتابهم الصادر عام 1951 بعنوان '''إعداد البرامج لجهاز كمبيوتر رقمي إلكتروني''' {{إنج|The preparation of programs for an electronic digital computer}}،<ref name="Wilkes_1951">{{استشهاد بكتاب |author-last1=Wilkes |author-first1=Maurice Vincent |وصلة مؤلف1=Maurice Vincent Wilkes |author-last2=Wheeler |author-first2=David John |وصلة مؤلف2=David John Wheeler |author-last3=Gill |author-first3=Stanley J. |وصلة مؤلف3=Stanley J. Gill |عنوان=The preparation of programs for an electronic digital computer |تاريخ=1951 |ناشر=[[Tomash Publishers]] |isbn=978-0-93822803-5 |oclc=313593586 |إصدار=Reprint 1982 }}</ref> والذي قام باستخدام المصطلح ليعني "برنامج يجمع برنامجًا آخر يتكون من عدة أقسام في برنامج واحد".<ref name="Fairhead_2017">{{citeاستشهاد webويب |author-last=Fairhead |author-first=Harry |titleعنوان=History of Computer Languages - The Classical Decade, 1950s |workعمل=I Programmer |dateتاريخ=2017-11-16 |urlمسار=https://www.i-programmer.info/history/57-computer-languages/471-the-classical-decade.html |access-dateتاريخ الوصول=2020-03-06 |url-statusحالة المسار=live |archive-urlمسار أرشيف=https://web.archive.org/web/20200102192823/https://www.i-programmer.info/history/57-computer-languages/471-the-classical-decade.html |archive-dateتاريخ أرشيف=2020-01-02}}</ref>
 
يمكن أن تكون لغة التجميع خاصة [[معمارية الحاسوب|بمعمارية حاسوب]] معينة وأحيانًا [[نظام تشغيل|لنظام تشغيل]] محدد.<ref name="OS360_2011">{{citeاستشهاد webويب |titleعنوان=How do assembly languages depend on operating systems? |dateتاريخ=2011-07-28 |workعمل=Stack Exchange |publisher=[[ستاك إكستشينج]] |urlمسار=https://stackoverflow.com/questions/6859348/how-do-assembly-languages-depend-on-operating-systems |access-dateتاريخ الوصول=2020-03-24 |url-statusحالة المسار=live |archive-urlمسار أرشيف=https://web.archive.org/web/20200324152747/https://stackoverflow.com/questions/6859348/how-do-assembly-languages-depend-on-operating-systems |archive-dateتاريخ أرشيف=2020-03-24}} (NB. System calls often vary, e.g. for [[OS/360 and successors|MVS]] vs. [[DOS/360 and successors|VSE]] vs. VM/CMS; the binary/executable formats for different operating systems may also vary.)</ref> ومع ذلك، لا توفر بعض لغات التجميع [[نحو (برمجة)|نحواً]] محددًا لمخاطبة نظام التشغيل، ويمكن استخدام معظم لغات التجميع عالميًا مع أي نظام تشغيل، حيث توفر اللغة الوصول إلى جميع الإمكانات الحقيقية [[وحدة معالجة مركزية|للمعالج]]، والتي تعتمد عليها جميع آليات [[طلبات النظام]] في النهاية. على عكس لغات التجميع، تكون معظم [[لغة برمجة عالية المستوى|لغات البرمجة عالية المستوى]] [[حمل (برامج)|محمولة]] بشكل عام عبر بنيات متعددة ولكنها تتطلب [[مفسر (برمجة)|تفسير]] أو [[محول برمجي|محول]]، وهي مهمة أكثر تعقيدًا من التجميع.
 
تسمى الخطوة الحسابية عندما يقوم المُجمّع بمعالجة برنامج بوقت التجميع.
السطر 327 ⟵ 328:
ويقوم بمصاحبة كل تعليمة مولدة (عبر المجمع) الكود النهائي Object Code والذي يتوائم مع هندسة الكمبويتر الافتراضي Virtual Computer's Architecture.
 
== انظر أيضاأيضًا ==
 
* [[محول برمجي]]
السطر 379 ⟵ 380:
* مجمع نيت-وايد Netwide
* جو-اسم GoAsm، مكون مجاني من أدوات Go: يدعم برمجة ويندوز من نوع 32 بت و64 بت
 
{{روابط شقيقة}}
{{لغات برمجة}}
{{شريط بوابات|علم الحاسوب|برمجة الحاسوب}}
{{ضبط استنادي}}
 
[[تصنيف:أنظمة مضمنة]]
[[تصنيف:اختراعات متعلقة بالحواسيب في 1949]]