با وجود این همه زبان برنامه نویسی سطح بالا، چرا هنوز زبان اسمبلی کاربرد دارد؟ اسمبلی زبان نزدیک به زبان سطح ماشین است. برنامه نویسی با آن بسیار زمان بر و دشوار است ولی هنوز دلایلی برای کاربرد زبان اسمبلی وجود دارد.
دلایل کاربردی بودن زبان اسمبلی
- به طور کلی از زبان اسمبلی برای برنامه نویسی کلیه قطعات سخت افزاری کامپیوتر و طراحی ساز و کار آن ها استفاده می شود. برای مثال حافظه و CPU و نیز سیستم عامل های سطح پایین با زبان اسمبلی برنامه نویسی می شوند. همچنین زبان اسمبلی در کدنویسی بخش هایی که تعامل مستقیم با سخت افزار دارند، مانند قسمت boot یا بارگزاری سیستم عامل، کاربرد دارد.
- زمانی که بخواهیم برای cpu خاصی برنامه بنویسیم باید کامپایلری مثل کامپایلر c++ را برای پردازنده مورد نظر طراحی کنیم. سپس با کامپایلر نوشته شده، برنامه مورد نظر را به زبان c++ بنویسیم. این روند مقرون به صرفه نیست. در چنین مواردی که برای نوع خاصی از پردازنده (یا پردازنده های قدیمی) کامپایلر زبان های سطح بالا وجود نداشته باشد باید با اسمبلی برنامه مورد نظر را نوشت.
- در زبان های سطح بالا سرعت اجرای برنامه کندتر است و از طرفی دقت برنامه مانند اسمبلی نیست. اگر بخواهید برای ربات یک کارخانه برنامه ای با زمان بندی دقیق بنویسید (که در صورت عدم رعایت این زمان بندی دستگاه می سوزد) باید از زبان اسمبلی استفاده کنید.
همچنین برای برنامه نویسی برنامه های بدون درنگ (که کنترل کامل بر محیط نیاز است) مانند شبیه سازها، تجهیزات پزشکی و سیستم های مسیریاب پرواز از زبان اسمبلی استفاده می شود. زبان اسمبلی یا زبان های سطح پایین تر برای چنین سیستم هایی، دید و کنترل بهتری به برنامه نویسان برای جزئیات پردازش می دهد. - یکی از کاربردهای زبان اسمبلی در محیط های فوق امنیتی و حساس است که تمام جزئیات با دقت بررسی می شود.
- هکر هایی که کار ساخت کرک و تروجان را انجام می دهند باید به زبان اسمبلی مسلط باشند. زیرا هر برنامه ای که نوشته می شود به زبان ماشین تبدیل می شود. از آن جا که یکی از کاربرد های زبان اسمبلی در مهندسی معکوس است، هر برنامه به زبان ماشین قابلیت decompile و بازگردانی به زبان اسمبلی را دارد.
البته شاید تعداد فرمان های برنامه های بزرگ بسیار زیاد باشد. این کار توسط هکر های حرفه ای انجام می شود و در آن به بررسی برنامه و ساخت کرک برای آن می پردازند. - کاربرد دیگر زبان اسمبلی برای اصلاح و توسعه کدهای کامپیوترهای بزرگ و فایل های برنامه ها است.
- کد نویسی شبیه ساز های مجموعه دستور العملها برای نظارت بر میزان اضافی پردازش مورد نیاز که به صورت حداقلی نگه داشته شود، و همچنین ردیابی و اشکال زدایی پردازش ها.
- آخرین کاربرد زبان اسمبلی که در این پست به آن اشاره می کنیم، کدنویسی تابلوهای روان است که حتما نمونه هایی از آن را در ایستگاه های قطار، فرودگاه ها، فروشگاه ها و… دیده اید.
اسمبلی یکی از قدرتمند ترین و انعطاف پذیر ترین زبان های برنامه نویسی جهان است که به نظر نمی رسد به این زودی ها منسوخ شود. این زبان برای اکثر سیستم عاملها حتی برای برنامه نویسی تحت اندروید نیز نسخه ی کامل دارد. این هشت مورد، مواردی از بیشترین کاربرد های زبان اسمبلی بود. احتمالا شما نیز می توانید مواردی را در قسمت نظرات اضافه کنید. همچنین در این لینک می توانید فیلم آموزش زبان اسمبلی را ببینید.
در لیموناد مجموعه ارزشمند و کاملی از آموزش های زبان های برنامه نویسی برای شما فراهم کرده ایم. با مراجعه به لینک زیر به آن ها دسترسی خواهید داشت:
7 دیدگاه. دیدگاه جدید بگذارید
سلام
جالب بود و مفید . اما امروزه زبان اسمبلی به شدت درحال توسعه است . الان معروفترین کامپایلر زبان اسمبلی یعنی FASM توانسته بیش از 5000 برنامه نویس را جذب خود کند . اسمبلی قدرتمندرترین و کاملترین و انعطاف پذیرترین زبان برنامه نویسی جهان است . اسمبلی کامپایلرهای فراوانی دارد ولی هیچکدام از انها به پای FASM نمی رسند . این کامپایلر تاکنون چندین سیستم عامل ساخته است از جمله kolibrios
FASM برای اکثر سیستم عاملها نسخه ی کامل دارد . حتی برای برنامه نویسی تحت اندروید نیز از FASM استفاده می شود
اسمبلی یک زبان همه منظوره است و هرگز منسوخ نخواهد شد .
ادرس سایت اسمبلر FASM :
https://flatassembler.net
توی سایت روی گزینه ی message board کلیک کنید تا وارد انجمن کاربران زبان اسمبلی شوید
در ضمن FASM یک اسمبلر قابل حمل است و برای انواع معماریها کاربرد دارد .
مادرهمه زبان ها هست عالی
سلام از مطلب شما خیلی لذت بردم و انشاء مطالب بیشتری در این مورد بذارید
ولی یه سوال واسم پیش اومد و اون اینکه زبان اسمبلی فابلیت حمل نداره و نمی تونیم در سیستم خود برنامه بنویسیم و برای کامپیوترهای دیگه بفرستیم چون پردازنده ها متفاوت اند خب دوست عزیز از شما خواهشمندم توضیح بفرمایید اینکه چطور با زبان اسمبلی برای سیستم های دیگر ویروس بنویسیم؟؟؟؟
سلام و عرض ادب
ممنون از پیام خوب شما
شاید باید برای هر پردازنده یک برنامه نوشت و سپس یک برنامه مادر باشد که پردازنده و تشخیص دهد و بگوید که کدام برنامه در آنجا اجرا شود.
سلام چرا دروغ این زبان خیلی سخته و به نظر من هر زبانی که سخت هست باید کاربرد های خفنی داشته باشد که بقیه زبان ها ندارند اسمبلی خیلی خفن هست هر چیزی باهاش میشه برنامه نویسی کرد ولی به کار کسایی میاد که زیاد برنامه نویسی سخت افزار دوست دارند نه ما که در حد طراحی سایت و … لازم داریم . ?
میشه منبع خوب واسه اموزش اسمبلی معرفی کنید هم فارسی هم خارجی برای ورود به حوضه مهندسی معکوس میخوام
سلام وقت شما بخیر
ما در لیموناد آموزش رایگان زبان اسمبلی رو داریم که از این لینک میتونید بهش دسترسی داشته باشید.
این دوره برای آشنایی با زبان اسمبلی بسیار کاربردی هستش.
اگر هم دنبال منابع خارجی میگردید پیشنهاد ما دورههای رایگان و غیررایگان http://www.udemy.com هست که با کمی جستوجو میتونین دورهی مناسب خودتون رو پیدا کنین