لغة التجميع  Assembly اللغة التي أوصلت ناسا إلى القمر

نشأت لغة التجميع "Assembly" في الخمسينيات من القرن العشرين، والتي قامت بتسهيل عملية البرمجة لصعوبة الكتابة والإلمام بأوامر لغة الآلة. تتكون كل تعليمة "Instruction" من تعليمات هذه اللغة من 32 بتاً مقسمة إلى أجزاء معتمدة على الأمر الذي يكون في أول 5 بت من كل تعليمة، ومن الأمثلة على التعليمات/الأوامر التي تقوم بها هي العمليات الحسابية أو المنطقية أو الإدخال والإخراج "MOV, ADD, SUB, IN, OUT, CMP"، وتعتبر لغة التجميع من اللغات المهمة في عالم الحاسوب، حيث يكتسب متعلمها الكثير من المهارات في فهم الحاسوب وأجزائه وكيفية التعامل معها. كمثال، يمكنك برمجة آله حاسبة لتأخذ أرقاماً من المنفذ التسلسلي "Serial Port" المرتبط بلوحة مفاتيح رقمية "Keypad" وتقوم بالعملية الحسابية وإخراج النتيجة على منفذ آخر متصل بشاشة "LCD".

 

تعتبر "لغة التجميع" من اللغات البرمجية القريبة من نواة الحاسوب ولغة الآلة "0, 1" فهي لغة منخفضة المستوى "Low Level Language"، يتم تحويلها لبرنامج تنفيذي باستخدام مجمّع "Assembler"، وبواسطة عدة عمليات "Operations" وأوامر وباستخدام بعض الكلمات المحجوزة لدى المجمّع يتم التحكم بالأجزاء الصلبة من الحاسوب "Hardware" بعد تحويلها للغة الآلة، حتى يتم تنفيذها باستخدام وحدة المعالجة المركزية "CPU" أو المعالجات الدقيقة "Microprocessors" أو المتحكمات الدقيقة "Microcontroller". 

 

تتعامل لغة التجميع مع مجموعة من السجلات "Registers"، والتي تعتبر من أهم مصادر التخزين لدى لغة التجميع وتكون ذات مساحات مختلفة "8، 16، 32" بت، حيث تقوم لغة التجميع بجميع العمليات من قراءة وكتابة وعمليات حسابية رياضية ومنطقية باستخدام السجلات أو المكدّس "Stack"، والذي يستخدم عادةً في الدالات "Functions". 

بيان تمثيلي عن آلية عمل لغة التجميع مصدر الصورة : http://www.urgenthomework.com/images/assembly-language.gif
بيان تمثيلي عن آلية عمل لغة التجميع مصدر الصورة : http://www.urgenthomework.com/images/assembly-language.gif

ليس من المفاجئ أن تكون إِحدى إسهامات لغة التجميع أنها اللغة التي استخدمتها مهندسة البرمجيات في ناسا مارغريت هاملتون "Margaret Hamilton" لكتابة الكود البرمجي لرحلة أبولو 11 إلى سطح القمر.  

 

في الوقت الحالي، كثرت استخدامات اللغات عالية المستوى "High Level Language" وذلك يعود لسهولة التعامل معها باعتبارها أقرب إلى لغة البشر، وكذلك أصبح بإمكان المبرمج استخدام أوامر بسيطة في هذه اللغات تختصر الكثير من الأوامر في اللغات منخفضة المستوى "Low Level Language".

 

 

إمسح وإقرأ

المصادر

شارك

المساهمون


اترك تعليقاً () تعليقات