به نام خدا


Spasm-Vs-Fasm



در پست قبلی  ، یک متن را از وبلاگ  فسمی به  آدرس   fasmy.blog.ir    را  به درون وبلاگ وحیدمی  به  آدرس   vahidmy.blog.ir   و البته وبلاگ اسپاسم ( spasm.blog.ir )  الصاق کردم و  گفتم برای جلوگیری از تردید و دودلی در خودم و در مخاطبان ، قصد دارم که دیگه از اسمبلر  RosAsm تبلیغ نکنم و منحصرا از اسمبلر  Fasm و تحت عنوان  کلی  " زبان اسمبلی " تبلیغ نمایم . 


اما حقیقت اینست که من یک آدم دمدمی مزاج  و غیرقابل پیش بینی هستم و مرتبا تصمیمات ضد و نقیض  می گیرم و مخاطب را کلافه و سردرگم می کنم . 


این البته اصلا عمدی و از روی بدذاتی نیست بلکه خصلت و خصوصیت ذاتی ام هست . 


من در تست نیمکره ی مغز که از طریق یکی از سایتهای معتبر از خودم گرفتم فهمیدم که هردو نیمکره ی مغزم همزمان فعال هستند و موجب ایجاد حالت ضد و نقیض  می شوم . 


این حالت را بیشتر در افرادی که دارای تیپ شخصیتی  استراتژیست هستند می توان دید . 


استراتژیست یعنی کسی که توانایی استفاده ی همزمان از هردو نیمکره ی مغز خود را دارد و می تواند احساسات را از منطق  ، تفکیک نماید و بر هردو مسلط شود و از توانایی های هردو نیمکره ی مغز خود به خوبی استفاده می کند و یک راهبرد و راهکار اصلی و جهانی را اخذ  می نماید . 


قصد ندارم از خودم تعریف کنم و قصد خودتخریبی نیز ندارم ولی می خواهم بگویم که انسانهای دمدمی مزاج ، غیرقابل اعتماد و روانپریش و روان رنجور نیستند بلکه استراتژیست هستند و هردو نیمکره ی مغزشان همزمان فعال می شود و تصمیمات ناگهانی وضد و نقیض می گیرند . 


بر همین اساس من مجددا تصمیم گرفتم که به تبلیغ از اسمبلر RosAsm  ادامه دهم زیرا واقعا این اسمبلر را دوست دارم و نمی توانم از او دل بکنم و از طرفی دیگر ، Fasm  را نیز دوست دارم   و نمی توانم از مزایای فراوانش چشم پوشی کنم  . 


لذا تصمیم گرفتم هردو را با هم و همزمان تبلیغ کنم !!


البته این تصمیم ، ممکن است مجددا تغییر کند زیرا من دمدمی مزاج هستم !!!!


+


خب حالا یک مقایسه ی ساده و کوتاه  بین این دو اسمبلر قدرتمند و رایگان و اوپن سورس و آزاد و خودکامپایل  انجام می دهم و از پست بعدی ، مجددا کارم را در این وبلاگ ادامه می دهم :


 فسم در مقابل  اسپاسم 


فسم یعنی فلت اسمبلر 


اسپاسم یعنی سپیشیال اسمبلر 


فلت یعنی ساده و یکپارچه 


سپیشیال یعنی خاص و ویژه 


من بجای اسامی انگلیسی ، سعی می کنم از تلفظهای فارسی استفاده نمایم . 


فسم =  Fasm


روسسم =  RosAsm 


Spasm = RosAsm



خب شروع مقایسه بین فسم و روسسم :



1- هردو کاملا رایگان هستند 


2- هردو توسط خودشان یعنی زبان اسمبلی ساخته شده و توسط خودشان نیز کامپایل می شوند و به زبانهای سطح بالا هیچ نیازی ندارند و خودکفا و مستقل هستند 


3- هردو اوپن سورس  و متن باز هستند


4- هردو  جزو نرم افزارهای آزاد محسوب می شوند


5- هردو انعطاف پذیر هستند و می توانید سینتاکس و گرامرشان را تغییر دهید و آنها را بروز نمایید و قابلیتهای جدید را به هردو اضافه کنید . می توانید قابلیتهای یکی را به دیگری اضافه نمایید مثلا می توانید یک دیس اسمبلر یا دیباگر را به فسم اضافه کنید  .


یا می توانید نسخه هایی از روسسم را برای لینوکس و داس و اندروید و مکینتاش   بسازید . 


6- هردو  ، اسمبلی  خالص استاندارد سطح پایین هستند و هرگز از گرامر زبانهای سطح بالا استفاده نمی کنند مگر در قالب ماکرو  و به بنا به صلاحدید کاربر 


7- هردو تنها با فشردن یک کلید ، سورس برنامه را به فایل اجرایی باینری تبدیل می کنند . 


8- هردو بسیار سریع و چابک و قدرتمند هستند 


9- در هردو می توان به روشهای مختلف ، برنامه نویسی کرد 


10- هردو به شدت انعطاف پذیر و پویا هستند 


11- هردو از انواع مدلهای برنامه نویسی پشتیبانی می کنند 


12- هردو به شدت به زبان ماشین نزدیک هستند لذا بسیار سریع و قدرتمند می باشند 


13- هردو ، همه منظوره هستند . البته فسم همه منظوره تر است !!!




تفاوتها :


1- روسسم فقط برای ویندوز ساخته شده و بجز ویندوز و اینتل ، روی سایر پلتفرمها و حوزه ها نسخه ندارد و نمی تواند نرم افزار تولید کند 


2- روسسم ، فقط از مدل 32 بیتی استفاده می کند و لذا قادر به تولید سیستم عامل و برنامه های 16 و 64 بیتی نیست 


3- روسسم  فقط  یک نوع فایل  یعنی فایلهای pe را تولید می کند لذا به درد سایر سیستم عاملها  و یا سایر فایلها نمی خورد مگر اینکه  شخصی پیدا شود و این قابلیت را به روسسم اضافه کند 


4- روسسم فقط روی ویندوز و اینتل تمرکز کرده و از سایر سیستم عاملها و پردازنده ها غافل شده است 


5- روسسم در یک زمان واحد فقط یک برنامه را باز می کند و اگر برنامه دچار مشکل شود ، روسسم کرش کرده و خودش را خاموش می کند و زحمات برنامه نویس را هدر می دهد 


6- سینتاکس روسسم ، گیج کننده و مبهم و غیراستاندارد است و با سایر کامپایلرهای زبان اسمبلی  همخوانی و تناسب ندارد 


7- نسخه های مختلف روسسم با یکدیگر همخوانی و سازگاری ندارند و همدیگه را نمی شناسند . 




فسم :


1- دیس اسمبلر و ری اسمبلر ندارد لذا برای مهندسی معکوس کارایی ندارد مگر اینکه با یک ترفند و از طریق یک هگز ادیتور  بتوانیم فسم را وادار کنیم که نرم افزار را کرک کند . 


2-  دیباگر و اشکالزدا ندارد 



3- به کوچکی و بزرگی حروف دستورات ، حساس هست و این اصلا خوب نیست . هرچند که می توان این حالت را تغییر داد ولی باید از طراح این اسمبلر یعنی آقای توماس گریستار اجازه گرفت که گویا ایشان اجازه نمی دهد !!


4- ماکروهای فسم ، ساختاری بسیار گنگ و تو در تو و نامفهوم و پیچیده دارند و لذا فهمیدن و بکار بردن این ماکروها واقعا دشوار است 


5- فسم ، در نسخه ی ویندوزی اش ،  لینکر ندارد و باید لینکر را با دست نوشت و عملا زحمت بسیار زیادی بر دوش کاربر تحمیل می کند . 



نتیجه :


سردرگمی من و شما در این میان . 


بله تنها بحث دمدمی مزاجی در کار نیست . ایکاش فقط همین بود .  مشکل از این است که هردو اسمبلر فسم و روسسم اصلا کامل نیستند  و موجب شده اند که زبان اسمبلی بیش از پیش  دست نیافتنی و دشوار شود و کاربرها زبان اسمبلی را رها کنند . 



تنها راه حل اینست که از یک هگز ادیتور که دارای دیس اسمبلر و ری اسمبلر باشد استفاده کنیم که خب این نیز دشواریها و مشکلات فراوانی در پی دارد . 



تصمیمگیری برای من خیلی سخت شده است زیرا من حقیقتا دوست دارم زبان برنامه نویسی اسمبلی را احیا نمایم اما در میانه ی راه به بن بست خورده ام و متوقف شده ام . 


باید قدری بیشتر فکر کنم .  


شاید هردو اسمبلر را با هم تبلیغ کنم و شاید هم تصمیم دیگری بگیرم .... 



لطفا اجازه دهید قدری فکر کنم و یک تصمیم بجا و درست و منطقی  اخذ کنم و یکبار برای همیشه ، خودم و شما را از این تردید و سرگردانی  نجات دهم . 


پس تا اطلاع ثانوی که معلوم نیست چقدر از نظر زمانی طول بکشد ، به فکر فرو می روم تا شاید یک راه حل اساسی و درست و منطقی  و یک ایده ی مفید و کاربردی به ذهنم برسد و بعد این ایده و راه حل را آزمایش و بررسی کنم و اگر واقعا هیچ ایراد و اشکالی نداشت و مفید بود ، این ایده را در تمام وبلاگهایم  مطرح می کنم . 


بهر حال من بعنوان یک انسان دمدمی مزاج و استراتژیست ،  فعلا  کلافه و درمانده شده ام و باید بتوانم خودم را از این وضعیت جهنمی نجات دهم . پس لطفا قدری صبور باشید تا شاید بتوانم  تفکر و تمرکز کنم و یک راه حل صحیح را عملی نمایم و نتیجه را به شما اعلام کنم .  من  به استراحت و تفکر و آرامش و تمرکز نیاز دارم . پس لطفا صبور باشید و عجله نکنید . متشکرم . 



نتیجه و تصمیم نهایی و قطعی را بعدا به شما اعلام می کنم . 



تا بعد ...