زبان اَسمبلی (به انگلیسی: Assembly language) یا همگذاری یک زبان برنامهنویسی سطح پایین برای رایانهها و دیگر دستگاههای برنامهپذیر است که رابطهٔ یک-به-یک با دستورالعملهای زبان ماشین معماری رایانه دارد. هر زبان اسمبلی مختص به یک معماری رایانه خاص است، برخلاف بیشتر زبانهای برنامهنویسی سطح بالا که با معماریهای مختلف سازگار هستند ولی برای اجرا شدن به مفسر و مترجم نیاز دارند.
زبان اسمبلی با استفاده از یک برنامه جانبی به نام اسمبلر یا همگذار، به کد ماشین قابل اجرا تبدیل میشود؛ به این فرایند تبدیل، اسمبل کردن (به انگلیسی: Assembling) گفته میشود.
زبان اسمبلی از یادیارها برای نشان دادن هر دستور ماشین سطح-پایین یا آپکد استفاده میکند. بعضی آپکدها به یک یا چند عملوند به عنوان بخشی از دستورالعمل نیاز دارند، و بیشتر اسمبلرها میتوانند لیبلها و نمادهایی را به عنوان عملوند، برای نشان دادن آدرسهای حافظه و ثابتهای عددی بپذیرند. ماکرو اسمبلرها نیز قابلیت درشتدستوری (به انگلیسی: Macroinstruction) را شامل میشوند که این امکان را به وجود میآورد که متن یک کد زبان اسمبلی با یک نام از پیش تعیین شده در خلال متن یک کد دیگر استفاده شود. بیشتر اسمبلرها مکانیزمهای اضافی برای تسهیل فرایند توسعه برنامه، کنترل فرایند اسمبل کردن و پشتیبانی از اشکالزدایی ارائه کردهاند.
فهرست مطالب:
تعریف روال
تابع
فراخوانی برنامه
بدنه يک روال؛ دستورالعمل هاي CALL و RETURN
وضعیت پشته
عملوند procedure
دستورالعمل ret
PUBLIC Procedure l, Procedure 2
دستورات EXTRN
مراحل ساختن يک برنامه قابل اجرا
دستورالعمل هاي PUSH و POP؛ داده هاي محلي
Push Source
POP destination
دستورالعمل Pushf
ASSUME CS: proc_code,ds: poc_data
انتقال مقادير به يک روال و بالعکس
نشان گذاري براي آدرس دهي مبنا
بازگشت پذيري (Recursion)
و...