GuilanCS | علوم کامپیوتر
1.04K subscribers
1.61K photos
60 videos
225 files
1.01K links
💻انجمن علمی علوم کامپیوتر دانشگاه گیلان

🔶اینستاگرام انجمن:https://instagram.com/csguilan

🔷ارتباط با دبیر انجمن(اسماعیل ذوالفقاری):
@anon7vip


🔗گروه دانشجویان:
Download Telegram
🎄🌲🌳🌿🌱🌴🍀🌺🌹🌷🌸🌼💐

پایان قسمت سیزدهم عیدانه ی علوم کامپیوتری
درود دوستان
خسته نباشید
امیدواریم حالتون خوب باشه .. خسته نباشید
امیدواریم روز طبیعت به همه ی شما خوش گذشته باشه ..
همونطور که امروز ، آخرین روز تعطیلات به حساب میاد ، این قسمت از برنامه ی ما هم آخرین قسمت ویژه برنامه به حساب میاد .
با ما همراه باشید 🌹🌹
من یک توضیح خدمت شما عرض کنم و اونم اینه که درسته که این برنامه آخرین قسمت هست ولی آغازی خواهد بود برای ارائه ی مطالب مفید در این کانال .. پایان یافتن این برنامه یعنی اینکه صرفا تا یه مدتی به این شکل در خدمت شما نخواهیم بود اما با توجه به نظراتی که شنیدیم ، قطعا در مناسبت های دیگر هم در خدمت شما خواهیم بود و اینکه از فردا کانال انجمن طبق روال قبل کار خواهد کرد با این تفاوت که مطالب علمی ، آموزشی و تحقیقاتی بیشتری رو سعی میکنیم قرار بدیم نسبت به قبل .. پس مارو در روز های بعد هم همراهی کنید
سوال آخرین مسابقه ی مارو هم ببینید .. تا فردا لطفا جواب درست رو برای @SaeedZiadid ارسال کنید . انشاءالله جوایز برندگان رو هم در هفته ی آینده تقدیم خواهیم کرد
دراینجا قصد داریم به معرفی زبان اسمبلی بپردازیم
💎 معرفی زبان اسمبلی


🌴🌱🌿🍀🍃🌷🌼🌸💐🌳🌲🎄🌵
زبان اَسمبلی یک زبان برنامه‌نویسی سطح پایین برای رایانه‌ها و دیگر دستگاه‌های برنامه‌پذیر است که رابطۀ یک-به-یک با دستورالعمل‌های زبان ماشین معماری رایانه دارد. هر زبان اسمبلی مختص به یک معماری رایانه خاص است، برخلاف بیشتر زبان‌های برنامه‌نویسی سطح بالا که با معماری‌های مختلف سازگار هستند ولی برای اجرا شدن به مفسر و مترجم نیاز دارند.

زبان اسمبلی با استفاده از یک برنامه جانبی به نام اسمبلر، به کد ماشین قابل اجرا تبدیل می‌شود؛ به این فرایند تبدیل، اسمبل کردن گفته می‌شود.

زبان اسمبلی از یادیارها برای نشان دادن هر دستور ماشین سطح-پایین یا آپ‌کد استفاده می‌کند. بعضی آپ‌کدها به یک یا چند عملوند به عنوان بخشی از دستورالعمل نیاز دارند، و بیشتر اسمبلرها می‌توانند لیبل‌ها و نمادهایی را به عنوان عملوند، برای نشان دادن آدرس‌های حافظه و ثابت‌های عددی بپذیرند. ماکرو اسمبلرها نیز قابلیت درشت‌دستوری را شامل می‌شوند که این امکان را به وجود می‌آورد که متن یک کد زبان اسمبلی با یک نام از پیش تعیین شده در خلال متن یک کد دیگر استفاده شود. بیشتر اسمبلرها مکانیزم‌های اضافی برای تسهیل فرایند توسعه برنامه، کنترل فرایند اسمبل کردن و پشتیبانی از اشکال‌زدایی ارائه کرده‌اند.
⭐️اسمبلر برنامه‌ای است که با تبدیل یادیارهای دستوری اسمبلی به آپ‌کدها و جایگزینی شناسه‌ها با آدرس‌های حافظه، کد هدف را به وجود می‌آورد. استفاده از ارجاعات نمادی از ویژگی‌های کلیدی اسمبلرها است که از محاسبات خسته‌کننده و به‌روزرسانی‌های دستی آدرس‌ها بعد از تغییر کد برنامه توسط برنامه‌نویس جلوگیری می‌کند. بیشتر اسمبلرها از قابلیت ماکرو نیز بهره می‌برند که این امکان را به وجود می‌آورد تا یک نام خاص برای یک تکه کد مشخص شود و سپس از آن نام در قسمت‌های مختلف برنامه استفاده شود و در هنگام اسمبل کردن برنامه تکه کد مربوطه جایگزین نام آن شود؛ به عنوان مثال از این روش برای تولید توالی‌های دستوری کوتاه رایج در خلال متن برنامه بجای فراخوانی رویه‌ها استفاده می‌شود.
🏁 اسمبلرها از دهه ۱۹۵۰ مورد استفاده قرار گرفتند و نوشتن آن‌ها بسیار راحت‌تر از نوشتن مترجم‌ها برای زبان‌های برنامه‌نویسی سطح بالا است بطوریکه هر دستور یادیاری و هر آدرس حالت ترکیبی این زبان مستقیماً به یک آپ‌کد زبان ماشین تبدیل می‌شود. اسمبلرهای جدید، به طور خاص برای معماری‌های ریسک، مانند اسپارک و پاور، هم‌مانند معماری ایکس۸۶ و ایکس۸۶-۶۴، با بهینه‌سازی زمان‌بندی دستورالعمل‌ها باعث استفاده کارآمد از خط لولۀ واحد پردازش مرکزی می‌شوند.
برخی از رایج‌ترین اسمبلرهای معماری ایکس۸۶ عبارتند از:

مایکروسافت ماکرو اسمبلر
نت‌واید اسمبلر
گنو اسمبلر
توربو اسمبلر
برنامه‌ای که به زبان اسمبلی نوشته می‌شود شامل مجموعه‌ای از دستورالعمل‌های پردازنده (یادیارها)، شبه-دستورها ، کامنت‌ها و داده‌ها است. دستورهای زبان اسمبلی معمولاً از یک آپ‌کد و سپس فهرستی از داده‌ها، آرگومان‌ها و یا پارامترها تشکیل شده‌اند و توسط اسمبلر به دستورهای زبان ماشین ترجمه و به حافظه منتقل می‌شوند تا اجرا شوند.
تبدیل زبان اسمبلی به زبان ماشین وظیفۀ اسمبلر است و عکس این عمل تا حدی توسط دی‌اسمبلر امکان‌پذیر است. برخلاف زبان‌های برنامه‌نویسی سطح بالا، ارتباط یک به یکی بین دستورهای زبان اسمبلی و دستورالعمل‌های زبان ماشین وجود دارد. با این حال، در برخی موارد، یک اسمبلر ممکن است شبه‌دستوراتی را به کار بگیرد (اساساً ماکروها) که به چند دستورالعمل زبان ماشین تبدیل می‌شود تا پاسخگوی نیازهای رایج باشد.
هر معماری کامپیوتر زبان ماشین مختص به خود را داراست. کامپیوترها در تعداد و نوع دستورهای قابل استفاده، تعداد و اندازۀ ثبات‌ها و نحوۀ انبارش داده‌ها با یکدیگر تفاوت دارند. با اینکه کامپیوترهای همه منظوره اساساً قادر به انجام کارکردهای مشابه هستند ولی این کار را با روش‌های گوناگونی انجام می‌دهند؛ بنابراین زبان اسمبلی مربوط به آن‌ها نیز این تفاوت‌ها را منعکس می‌کند.
مجموعه‌های متعددی از یادیارها و یا دستورهای زبان اسمبلی ممکن است برای یک مجموعه دستورالعمل واحد وجود داشته باشد، که به طور معمول در برنامه‌های اسمبلی مختلفی نمونه‌سازی می‌شوند. در این موارد، رایج‌ترین آن‌ها معمولاً نمونه‌ای است که توسط کارخانۀ سازنده عرضه می‌شود یا در مستندات آن‌ها استفاده شده است.
💎 پایان معرفی زبان اسمبلی


🌴🌱🌿🍀🍃🌷🌼🌸💐🌳🌲🎄🌵
یک نسخه ی پی دی اف درباره ی "هوش مصنوعی و سیستم های هوشمند" از سایت بالا رو براتون قرار میدیم که امیدواریم مفید باشه برای کسانی که به این موضوع علاقمند هستند 👇👇👇👇👇