An assembler is a program that translates assembly language into binary instructions. Assembly language provides a friendlier representation for machine code than a computer’s 0s and 1s bytecode, that simplifies writing and reading programs. Symbolic names (mnemonics) for operations (labels) and locations are one facet of this representation. Another facet is programming facilities that increase a program’s clarity.
An assembler (that is a language processor, similar to a compiler) reads a single assembly language source file and produces an object file containing machine instructions in bytecode format and bookkeeping information that helps combine several object files into a program.