بنام خدا


آشنایی با کامپایلرهای زبان اسمبلی بخش پایانی


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


من در این پست فقط اسامی باقیمانده ی کامپایلرهای زبان اسمبلی را  همراه با سایت رسمی شان یا آدرس ویکی پدیا  لیست می کنم  . اگر تمایل داشتید وارد این سایتها شده و این کامپایلرها را  دانلود کنید .


بعد از این پست  ، من قصد دارم یک کار جالب انجام بدم .  برنامه نویسی با هگز ادیتور .


بله  قصد دارم مستقیما با کدهای زبان ماشین در هگز ادیتور برنامه نویسی کنم و روش برنامه نویسی را نیز آموزش دهم !


بله ! درست فهمیدید . از پست بعدی من روش برنامه نویسی با زبان ماشین  (هگز ادیتور) را بصورت گام به گام به شما اموزش می دهم . اگر زبان ماشین را  یاد بگیرید  و بر ان مسلط شوید و بتوانید با آن نرم افزار بسازید  عملا دیگه به هیچکدام از کامپایلرهای زبان اسمبلی نیازمند نخواهید بود و  عملا از شر تردید و دودلی  در انتخاب بهترین کامپایلر زبان اسمبلی خلاص می شوید .


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


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


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


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


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


+

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


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


اما درعوض ،  زبان ماشین را تدریس می کنم !!!

من همیشه به دنبال  کالا یا محصول  اصل و اوریجینال می گردم . در میان زبانهای برنامه نویسی نیز هیچ زبانی به اندازه ی زبان ماشین ، اصالت و اعتبار ندارد .


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



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

+

+

خب حرف دیگه بسه :


مابقی کامپایلرهای زبان اسمبلی :




===


Yasm:


site:

http://yasm.tortall.net/


GitHub:

https://github.com/yasm/yasm

===


GoAsm:


http://godevtool.com/


===


Uasm:


site:

http://www.terraspace.co.uk/uasm.html


GitHub:


https://github.com/Terraspace/UASM


===


jwasm:


GitHub:

https://github.com/JWasm/JWasm


===


Tasm:


site:


https://web.archive.org/web/20101023185143/http://info.borland.com/borlandcpp/cppcomp/tasmfact.html



Wiki:


 https://en.wikipedia.org/wiki/Turbo_Assembler


===


Atari Assembler Editor:


wiki:


 https://en.wikipedia.org/wiki/Atari_Assembler_Editor


===


Lazer's Interactive Symbolic Assembler:


wiki:


  https://en.wikipedia.org/wiki/Lazer%27s_Interactive_Symbolic_Assembler


===


MAC/65:


wiki:


 https://en.wikipedia.org/wiki/MAC/65


===






====



ASM-One Macro Assembler:


wiki:


 https://en.wikipedia.org/wiki/ASM-One_Macro_Assembler



====


GNU Assembler:


wiki:


 https://en.wikipedia.org/wiki/GNU_Assembler


====



IBM Basic Assembly Language and successors:


wiki:


 https://en.wikipedia.org/wiki/IBM_High_Level_Assembler


=====



IBM High Level Assembler:


wiki:


 https://en.wikipedia.org/wiki/IBM_High_Level_Assembler



====




======


Amsterdam Compiler Kit:


wiki:


 https://en.wikipedia.org/wiki/Amsterdam_Compiler_Kit


====


IBM ALP:


wiki:


 https://en.wikipedia.org/wiki/IBM_ALP


====


gpasm:


wiki:


https://en.wikipedia.org/wiki/GPUTILS


====


IBM 650:


wiki:


 https://en.wikipedia.org/wiki/IBM_650#Software


=====

......

.......

.......

.......





در  ویکی پدیا انگلیسی  اسامی اکثر  کامپایلرهای زبان اسمبلی آمده است . در این میان تعدادی اسمبلر یونیکسی و  لینوکسی نیز  وجود دارد که  متاسفانه در ویکی پدیا انگلیسی  اسمی از آنها نیامده است . این اسمبلرهای لینوکسی را باید در میان پکیجهای  دبیان  جستجو کرد .


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



چند نکته را مطرح می کنم   و بحث را جمع می کنم :

1- برای شروع برنامه نویسی تحت ویندوز بهترین  گزینه  ، ریاکت اسمبلر می باشد یعنی RosAsm  . پس حتما این اسمبلر را دانلود کرده و در فضای مجازی بازنشر نمایید .



2-  برای برنامه نویسی حرفه ای با زبان اسمبلی ، بهترین گزینه ، فلت اسمبلر می باشد .



3- برای فهم بهتر کدهای زبان ماشین در حین تدریس زبان ماشین ، سعی کنید با هردو اسمبلر   Fasm  و  RosAsm  کار کنید تا کدهای زبان ماشین را یاد بگیرید . 



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

این نوع اسمبلی  یک اسمبلی عمومی  و  کلی است و به هیچ کامپایلر خاصی تعلق ندارد .


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


5- در اوقات بیکاری  ، در وبلاگهای مختلف  سعی می کنم   نرم افزارهای زبان اسمبلی را  آپلود نمایم .


دیگه حرفی باقی نمونده .... 


پس  تا بعد .....



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

+


موضوعات وبلاگ وحیدمی :

من  در تمامی پستهای وبلاگ وحیدمی ، سعی می کنم لااقل یک اشاره ای به موضوعات این وبلاگ داشته باشم . به همین دلیل برای تمامی پستهای این وبلاگ ،  تمام جعبه های موضوعات  وبلاگ  شامل  Idea ،  Assembly  ،  vahidmy  ، Music  ، Binary ، OS ، Weblog ، IT   ؛  را تیک می زنم که البته در دنیای وبلاگنویسی،  این رفتار ؛   کاری مضحک  و بی معنا و غیرحرفه ای محسوب می شود  ولی من به این قواعد و استانداردهای وبلاگنویسی اهمیت نمی دهم و دوست دارم هرطور که دلم می خواهد وبلاگنویسی نمایم و آزاد باشم . لذا  همینقدر که یک اشاره ی کوچک به این موضوعات در همین پاراگراف شد ،  از نظر خودم ، کافی است !!

من تافته ی جدابافته هستم و به سبک خودم وبلاگنویسی می نمایم  و به استانداردهای دنیای وبلاگنویسی اهمیت نمی دهم و برایم مهم نیست که مخاطبان پشت سرم چه می گویند . من به اشتهای مردم غذا نمی خورم و نگران حرف و حدیثهایی که مردم پشت سرم در می آورند نیستم و بی خیال و خونسرد هستم .

من رسومات  کهنه ی دنیای  وبلاگنویسی و مرزهای علم را جابجا می کنم !!

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


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


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


+




وحید محمدی -  وبلاگ  وحیدمی 


https://vahidmy.blog.ir