Assembly language is a type of low-level language and program it is more commonly known as an assembler, with the inverse program known as a disassembler.  An assembler converts the assembly codes into binary codes and then it assembles the machine understandable code into the main memory of the computer, making it ready for execution.  Functions of an assemblers are given below:  It allows the programmer to use mnemonics while writing source code programs, which are easier to read and follow.  It allows the variables to be represented by symbolic names, not as memory locations.  It translates mnemonic operations codes to machine code and corresponding register addresses.  It checks the syntax of the assembly program and generates diagnostic messages on syntax errors.  It assembles all the instructions in the main memory for execution.  In case of large assembly programs, it also provides linking facility among the subroutines.  It facilitates the generation of output on required output medium.