اسمبلر سطح بالا

اسمبلر سطح بالا  در کامپیوتر، اسمبلرهایی برای زبان اسمبلی هستند که ویژگی‌های موجود در زبان‌های برنامه‌نویسی سطح بالا را در خود جای داده‌اند.

قدیمی‌ترین اسمبلر سطح بالا احتمالاً 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) از برنامه‌نویسی شیءگرا پشتیبانی می‌کنند.

منابع 
 

اسمبلرها