اسمبلر سطح بالا
![]() | این مقاله دقیق، کامل و صحیح ترجمه نشده و نیازمند ترجمه به فارسی است. کل یا بخشی از این مقاله به زبانی بهجز زبان فارسی نوشته شدهاست. اگر مقصود ارائهٔ مقاله برای مخاطبان آن زبان است، باید در نسخهای از ویکیپدیا به همان زبان نوشته شود (فهرست ویکیپدیاها را ببینید). در غیر این صورت، خواهشمند است ترجمهٔ این مقاله را با توجه به متن اصلی و با رعایت سیاست ویرایش، دستور خط فارسی و برابر سازی به زبان فارسی بهبود دهید و سپس این الگو را از بالای صفحه بردارید. همچنین برای بحثهای مرتبط، مدخل این مقاله در فهرست صفحههای نیازمند ترجمه به فارسی را ببینید. اگر این مقاله به زبان فارسی بازنویسی نشود، تا دو هفتهٔ دیگر نامزد حذف میشود و/یا به نسخهٔ زبانی مرتبط ویکیپدیا منتقل خواهد شد. اگر شما اخیراً این مقاله را بهعنوان صفحهٔ نیازمند ترجمه برچسب زدهاید، لطفاً عبارت {{جا:هبک-ترجمه به فارسی|1=اسمبلر سطح بالا}} ~~~~ را نیز در صفحهٔ بحث نگارنده قرار دهید. |
اسمبلر سطح بالا (به انگلیسی: High level assembler) در کامپیوتر، اسمبلرهایی برای زبان اسمبلی هستند که ویژگیهای موجود در زبانهای برنامهنویسی سطح بالا را در خود جای دادهاند.
قدیمیترین اسمبلر سطح بالا احتمالاً ESPOL از Burrough بود که در حدود سال ۱۹۶۰ معرفی شد و یک دستور ALGOL مانند حول دستورالعملهای ماشینی با صراحت بیان شدهٔ B5000 ارائه داد. به دنبال آن PL360 توسط Niklaus Wirth در سال ۱۹۶۸ ارائه شد. او امکانات را بر روی یک IBM System/360 که خود با آن آشنایی داشت تکرار کرد. از اسمبلر سطح بالا جدید تر میتوان به TASM و NASM از بورلند، MASM از مایکروسافت و HLASM از آی بی ام (برای سیستمهای با معماری z)، اشاره کرد.[نیازمند منبع]
اسمبلرهای سطح بالا معمولاً دستورالعملهایی را ارائه میدهند که مستقیماً و به صورت دوسویی به کد ماشین سطح پایین اسمبل میشوند و علاوه بر آن گزارههای کنترلی مانند IF , WHILE , REPEAT...UNTIL و FOR، عبارات ماکرو و سایر بهبودها را شامل میشوند. این امر اجازه استفاده از انتزاعات گزارههای کنترلی سطح بالا (به انگلیسی: high-level control statement abstractions) را در هر کجا که حداکثر سرعت یا حداقل فضا ضروری نیست، میدهد. دستورهای سطح پایین که مستقیماً به کد ماشین اسمبل میشوند میتوانند برای تولید سریعترین یا کوتاهترین کد استفاده بشوند. نتیجه نهایی کد منبع اسمبلی است که ضمن حفظ کارایی ذاتی استفاده از زبان اسمبلی، بسیار خواناتر از کد استاندارد اسمبلی است.
اسمبلرهای سطح بالا معمولاً امکانات پنهان کردن اطلاعات و توانایی فراخوانی توابع و رویهها را با استفاده از یک نحو سطح بالا فراهم میکنند (یعنی به عنوان مثال اسمبلر بهطور خودکار کدی تولید میکند که خود پارامترها را روی پشته پوش کند، به جای اینکه برنامهنویس مجبور باشد کد لازم برای این کار را به صورت دستی بنویسد).
اسمبلر سطح بالا همچنین انتزاعات دادهای(به انگلیسی: data abstractions)ای را فراهم میکنند که بهطور معمول در زبانهای سطح بالا یافت میشود. به عنوان مثال میتوان به ساختمان دادهها، اجتماعها، کلاسها و مجموعهها اشاره کرد. برخی از توربو اسمبلر سطح بالا (به عنوان مثال، TASM و HLA) از برنامهنویسی شیءگرا پشتیبانی میکنند.
منابع
[ویرایش]- مشارکتکنندگان ویکیپدیا. «High-level assembler». در دانشنامهٔ ویکیپدیای انگلیسی، بازبینیشده در ۲۸ نوامبر ۲۰۲۰.