اسمبل یا همگذار نرم افزاری است که برنامه نوشته شده به زبان اسمبلی را به کدهدف (Object Code) تبدیل می کند و یک فایل با پسوند obj تولید می کند. توجه شود که این فایل قابل اجرا نیست و بوسیله نرم افزار Linker این فایل به یک فایل با پسوند exe تبدیل میشود که این فایل جدید قابل اجرا است.هر مجموعه دستورالعمل تعبیه شده در هر پردازندهای، زبان اسمبلی مخصوص خود را دارا میباشد. لذا اگر دو نوع پردازنده که ISA (یا مجموعه دستورالعمل) آنها متفاوت از یکدیگر میباشد را داشته باشیم، نمیتوانیم با یک زبان اسمبلی (یا زبان همگذاری) یکسان برای آن دو، برنامه بنویسیم.
برای مثال زبان اسمبلی معماری x86 با زبان اسمبلی معماری MIPS تفاوت دارد. (MIPS توسط شرکتهای مختلف مانند ایسر، انایسی، و تعدادی دیگر از شرکتها مورد استفاده قرار میگردد).همچنین هر کد اسمبلی مخصوص همان اسمبلری است که با آن اصطلاحاً اسمبل شده است، بنابراین برای مثال یک کد اسمبلی پردازنده x86 نوشته برای اسمبلر GAS (جیاِنیو اسمبلر) نمیتواند با اسمبلر MASM (مایکروسافت اسمبلر) برای پردازنده x86 اسمبل شود.