به نام خدا
بهترین کامپایلر زبان اسمبلی:
اگرچه زبان اسمبلی از سال 1936میلادی تا به امروز یک زبان دستی بوده و تا ابد نیز یک زبان برنامه نویسی دستی است و بهتر است که به هیچ کامپایلری وابسته نباشد و آزاد و مستقل باشد و در انحصار هیچ شخص حقیقی و حقوقی نباشد اما کامپایلرها با تمام مشکلاتی که دارند درعوض کار ما را آسانتر می کنند و وقت ما را هدر نمی دهند .
حالا این سوال پیش می آید که در میان صدها کامپایلر زبان اسمبلی کدامیک از بقیه بهتر است ؟؟
در پاسخ باید گفت پیدا کردن بهترین کامپایلر زبان اسمبلی کار چندان ساده ای نیست !
زیرا متاسفانه تمام کامپایلرهای زبان اسمبلی ؛ غیر استاندارد و ناقص می باشند و اکثر برنامه نویسان زبان اسمبلی از این وضعیت ناراضی و عصبانی هستند . زیرا طراحان کامپایلرهای زبان اسمبلی ؛ افرادی دیکتاتور و مغرور و خودخواه می باشند و اصلا به نیازهای متنوع برنامه نویس ها توجه نمی کنند .
همین مشکل باعث شده است که انتخاب بهترین کامپایلر زبان اسمبلی حقیقتا کار دشواری بنظر برسد .
بنابراین مجبوریم برخی از نیازهای خود را نادیده بگیریم و قانع باشیم و ببینیم دقیقا به چه چیزی نیاز داریم !
من در اینجا کار را ساده می کنم تا در انتخاب کامپایلر زبان اسمبلی دچار اشتباه نشوید :
اگر هدف شما از برنامه نویسی با زبان اسمبلی و انتخاب کامپایلر ؛ فقط برنامه نویسی است و هیچ هدف دیگری از جمله هک و کرک و مهندسی معکوس نرم افزار ندارید و اصلا به این مقوله ها علاقه ای ندارید بنابراین تمام کامپایلرهای زبان اسمبلی می توانند بهترین کامپایلر باشند !!
ولی من در چنین حالتی فقط گزینه های زیر را به شما پیشنهاد می کنم :
Fasm
Masm
Nasm
RosAsm
به ترتیب از اول به آخر ؛ Fasm از تمام کامپایلرهای زبان اسمبلی بهتر و مناسبتر است . Fasm از نظر من بهترین و کاملترین و قدرتمندترین کامپایلر زبان اسمبلی محسوب می شود . شما در Fasm حتی می توانید مستقیما با کدهای زبان ماشین یا با کدهای زبانهای سطح بالا نیز برنامه نویسی کنید .
بنابراین Fasm یک زبان برنامه نویسی سطح میانی و همه منظوره محسوب می شود . لذا من Fasm را بعنوان بهترین کامپایلر زبان اسمبلی به شما پیشنهاد می دهم .
Fasm یک اسمبلر همگانی و جهانی و آزاد و رایگان و متن باز و خودکامپایل و چند سکویی و همه منظوره و پرطرفدار و محبوب است هرچند که در انحصار شخص توماس گریستار می باشد !!
برای طراحی و ساخت سیستم عامل جدید ؛ ابتدا Fasm و سپس Nasm بهترین گزینه محسوب می شوند .
Fasm ده ها IDE قدرتمند و متنوع دارد و از تمام دستورات زبان اسمبلی تمام پردازنده های جهان پشتیبانی می کند . زیرا قابل حمل است و زبان اسمبلی تمام پردازنده ها را می پذیرد .
Fasm قادر به تولید سیستم عامل و نرم افزار برای تمام پردازنده ها می باشد و مصداق بارز اسمبلی قابل حمل است .
برای برنامه نویسی تحت تمام سیستم عامل ها و تمام پردازنده ها ؛ Fasm بهترین گزینه محسوب می شود .
اما همین Fasm هیچگونه ابزار هک و کرک و مهندسی معکوس ندارد . لذا برای این اهداف ؛ چندان مناسب نیست !!
گرچه برخی افراد برای Fasm یک یا چند دیس اسمبلر ساخته اند ولی کارایی لازم را ندارند .
Nasm دارای یک دیس اسمبلر انحصاری می باشد و تا حدودی برای مهندسی معکوس کارایی دارد .
Nasm برخی از دستورات زبان اسمبلی اینتل را حذف کرده است لذا انعطاف پذیر نیست و قدرت کمتری نسبت به بقیه دارد .
بدبختانه برای Nasm هیچگونه IDE وجود ندارد و به درد ویندوز و مک نمی خورد و بیشتر در لینوکس بکار می رود .
Masm یک اسمبلر کد بسته و انحصاری است و در انحصار شرکت مایکروسافت است و سالهاست که توسعه اش متوقف شده است .
مایکروسافت هرگز کد منبع Masm را منتشر نکرد و اجازه نداد که از Masm برای سیستم عامل های دیگر که اکثرا یونیکسی بودند استفاده شود .
لایسنس Masm همچون سایر محصولات مایکروسافت ؛ یک لایسنس بسیار سختگیرانه است و کاربر را محدود می کند .
البته Masm بطور کامل از زبانهای یونیکد از جمله زبان فارسی پشتیبانی می کند و گرامری شبیه گرامر زبان سی دارد لذا پرطرفدارترین کامپایلر زبان اسمبلی محسوب می شود .
Masm در ایران طرفداران زیادی دارد و منابع آموزشی فراوانی نیز دارد .
.
Masm ده ها IDE قدرتمند دارد که امکان برنامه نویسی سریع و آسان و شیئ گرا و رویدادگرا در آن بخوبی فراهم شده است .
Masm در بدنه Visual Studio نیز بکار می رود .
مایکروسافت اخیرا سعی کرده مجددا به زبان اسمبلی توجه نشان دهد لذا در یکی دو سال اخیر شاهد حضور Masm در بدنه Visual Studio هستیم !!
+
و اما می رسیم به جنجالی ترین کامپایلر زبان اسمبلی و بزرگترین دشمن مایکروسافت و زبانهای سطح بالا یعنی RosAsm !!!
پر واضح است که این اسمبلر جنجالی که توسعه اش متوقف شده و هیچ وبسایت رسمی ندارد و توسط یک هکر فرانسوی پر حاشیه و احساساتی و دیکتاتور ساخته شده بود و هرگز به درخواستهای ضروری برنامه نویس ها اهمیت نداد ؛ نتواند هیچ جایگاهی در میان کامپایلرهای زبان اسمبلی بدست آورد .
اما همین RosAsm که یک اسمبلر-دیس اسمبلر-ری اسمبلر می باشد و خوراک هکرها و کرکرها و مهندسان معکوس است شاید در آینده بتواند به بهترین کامپایلر زبان اسمبلی تبدیل شود !!!
من خودم شخصا برای برنامه نویسی با زبان اسمبلی از RosAsm استفاده می کنم زیرا من به مهندسی معکوس شدیدا علاقه دارم !!
+
جمع بندی:
اینکه کدام کامپایلر یا کدام زبان برنامه نویسی بهتر از بقیه است به کاربر و دیدگاهها و عقاید و نیازهای او بستگی دارد .
اما من می گویم تمام کامپایلرهای زبان اسمبلی ؛ بهترین زبان برنامه نویسی محسوب می شوند !!!
زیرا اسمبلی می تواند حتی جایگزین مناسبی بجای زبان ماشین باشد و حتی می تواند سکتورهای هارد دیسک را ویرایش یا حذف کند حتی بصورت مستقیم !!
حتی با اسمبلی هم می توانید تمام کارهای عجیب یک هگز ادیتور را تقلید کنید . مثلا می توانید هارد دیسک را کاملا حذف کنید !!!
کافیست کامپایلر زبان اسمبلی امکان استفاده مستقیم از کدهای زبان ماشین را به شما بدهد و به یک هگز ادیتور مجازی تبدیل شود !!
اگر چنین اتفاق جالبی رخ دهد انگاه شما دیگه به هگز ادیتور نیاز نخواهید داشت و زبان اسمبلی کاملا جایگزین زبان ماشین خواهد شد !!
برخی کامپایلرهای زبان اسمبلی از قبیل Masm و Fasm و تا حدودی RosAsm ؛ این توانایی را دارند که به یک hex editor مجازی تبدیل شوند و شما را به اوج قدرت برسانند !!!