زبان اَسمبلی ( به انگلیسی: Assembly language ) یا همگذاری[ ۱] یک زبان برنامه نویسی سطح پایین برای رایانه ها و دیگر دستگاه های برنامه پذیر است که رابطهٔ یک - به - یک با دستورالعمل های زبان ماشین معماری رایانه دارد. هر زبان اسمبلی مختص به یک معماری رایانه خاص است، برخلاف بیشتر زبان های برنامه نویسی سطح بالا که با معماری های مختلف سازگار هستند ولی برای اجرا شدن به مفسر و مترجم نیاز دارند.
زبان اسمبلی با استفاده از یک برنامهٔ جانبی به نام اسمبلر یا همگذار، به کد ماشین قابل اجرا تبدیل می شود؛ به این فرایند تبدیل، اسمبل کردن ( به انگلیسی: Assembling ) گفته می شود.
زبان اسمبلی از یادیارها برای نشان دادن هر دستور ماشین سطح - پایین یا آپ کد استفاده می کند. بعضی آپ کدها به یک یا چند عملوند به عنوان بخشی از دستورالعمل نیاز دارند و بیشتر اسمبلرها می توانند لیبل ها و نمادهایی را به عنوان عملوند، برای نشان دادن آدرس های حافظه و ثابت های عددی بپذیرند. ماکرو اسمبلرها نیز قابلیت درشت دستوری ( به انگلیسی: Macroinstruction ) را شامل می شوند که این امکان را به وجود می آورد که متن یک کد زبان اسمبلی با یک نام از پیش تعیین شده در خلال متن یک کد دیگر استفاده شود. بیشتر اسمبلرها مکانیزم های اضافی برای تسهیل فرایند توسعهٔ برنامه، کنترل فرایند اسمبل کردن و پشتیبانی از اشکال زدایی ارائه کرده اند.
اسمبلر برنامه ای است که با تبدیل یادیارهای دستوری اسمبلی ( به انگلیسی: Assembly instruction mnemonics ) به آپ کدها و جایگزینی شناسه ها با آدرس های حافظه، کد هدف ( به انگلیسی: Object code ) را به وجود می آورد. استفاده از ارجاعات نمادی از ویژگی های کلیدی اسمبلرها است که از محاسبات خسته کننده و به روزرسانی های دستی آدرس ها بعد از تغییر کد برنامه توسط برنامه نویس جلوگیری می کند. بیشتر اسمبلرها از قابلیت ماکرو نیز بهره می برند که این امکان را به وجود می آورد تا یک نام خاص برای یک تکه کد مشخص شود و سپس از آن نام در قسمت های مختلف برنامه استفاده شود و در هنگام اسمبل کردن برنامه تکه کد مربوطه جایگزین نام آن شود؛ به عنوان مثال از این روش برای تولید توالی های دستوری کوتاه رایج در خلال متن برنامه به جای فراخوانی رویه ها استفاده می شود.
اسمبلرها از دههٔ ۱۹۵۰ مورد استفاده قرار گرفتند و نوشتن آنها بسیار راحت تر از نوشتن مترجم ها برای زبان های برنامه نویسی سطح بالا است به طوری که هر دستور یادیاری و هر آدرس حالت ترکیبی این زبان مستقیماً به یک آپ کد زبان ماشین تبدیل می شود. اسمبلرهای جدید، به طور خاص برای معماری های ریسک، مانند اسپارک و پاور، همانند معماری ایکس۸۶ و ایکس۸۶–۶۴، با بهینه سازی زمان بندی دستورالعمل ها باعث استفادهٔ کارآمد از خط لولهٔ واحد پردازش مرکزی می شوند.
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفزبان اسمبلی با استفاده از یک برنامهٔ جانبی به نام اسمبلر یا همگذار، به کد ماشین قابل اجرا تبدیل می شود؛ به این فرایند تبدیل، اسمبل کردن ( به انگلیسی: Assembling ) گفته می شود.
زبان اسمبلی از یادیارها برای نشان دادن هر دستور ماشین سطح - پایین یا آپ کد استفاده می کند. بعضی آپ کدها به یک یا چند عملوند به عنوان بخشی از دستورالعمل نیاز دارند و بیشتر اسمبلرها می توانند لیبل ها و نمادهایی را به عنوان عملوند، برای نشان دادن آدرس های حافظه و ثابت های عددی بپذیرند. ماکرو اسمبلرها نیز قابلیت درشت دستوری ( به انگلیسی: Macroinstruction ) را شامل می شوند که این امکان را به وجود می آورد که متن یک کد زبان اسمبلی با یک نام از پیش تعیین شده در خلال متن یک کد دیگر استفاده شود. بیشتر اسمبلرها مکانیزم های اضافی برای تسهیل فرایند توسعهٔ برنامه، کنترل فرایند اسمبل کردن و پشتیبانی از اشکال زدایی ارائه کرده اند.
اسمبلر برنامه ای است که با تبدیل یادیارهای دستوری اسمبلی ( به انگلیسی: Assembly instruction mnemonics ) به آپ کدها و جایگزینی شناسه ها با آدرس های حافظه، کد هدف ( به انگلیسی: Object code ) را به وجود می آورد. استفاده از ارجاعات نمادی از ویژگی های کلیدی اسمبلرها است که از محاسبات خسته کننده و به روزرسانی های دستی آدرس ها بعد از تغییر کد برنامه توسط برنامه نویس جلوگیری می کند. بیشتر اسمبلرها از قابلیت ماکرو نیز بهره می برند که این امکان را به وجود می آورد تا یک نام خاص برای یک تکه کد مشخص شود و سپس از آن نام در قسمت های مختلف برنامه استفاده شود و در هنگام اسمبل کردن برنامه تکه کد مربوطه جایگزین نام آن شود؛ به عنوان مثال از این روش برای تولید توالی های دستوری کوتاه رایج در خلال متن برنامه به جای فراخوانی رویه ها استفاده می شود.
اسمبلرها از دههٔ ۱۹۵۰ مورد استفاده قرار گرفتند و نوشتن آنها بسیار راحت تر از نوشتن مترجم ها برای زبان های برنامه نویسی سطح بالا است به طوری که هر دستور یادیاری و هر آدرس حالت ترکیبی این زبان مستقیماً به یک آپ کد زبان ماشین تبدیل می شود. اسمبلرهای جدید، به طور خاص برای معماری های ریسک، مانند اسپارک و پاور، همانند معماری ایکس۸۶ و ایکس۸۶–۶۴، با بهینه سازی زمان بندی دستورالعمل ها باعث استفادهٔ کارآمد از خط لولهٔ واحد پردازش مرکزی می شوند.
wiki: زبان اسمبلی