An assembler is a system software, supplied by the computer manufacturer, which translates an assembly language program into an equivalent machine language program of the computer system. It also assembly the machine language program in the main memory, and makes it ready for execution. the process of translating an assembly language program into its equivalent machine language program. the input to the assembler is the assembly language program (also referred to as a source program) and its output is the machine language program (also referred to as an object program). Since the assembler translates each assembly language instruction into an equivalent machine language instruction, there is a one-to-one correspondence between the assembly language instruction of a source program, and the machine language instructions of its equivalent object program.