Assembler (from assembler English) refers to a type of program computer that is responsible for translating a source file written in an assembler DYNA, to an object file containing machine code, executable directly by the machine for which it was generated. The purpose for which they were created this kind of applications is the facilitate the writing of programs that write directly in code binary, that is the only code understandable by computer, is in practice impossible. The evolution of programming from the assembler languages also originated the evolution of this assembler software toward what is known as a compiler program. All processor, large or small, from a calculator to a supercomputer, either general or specific purpose possesses a unique language that is capable of recognizing and executing. For reasons that are obvious, this language has been called machine language, and rather than being itself a computer belongs to its microprocessor.The language of machine is composed of a series of instructions, which are the only ones that can be recognized and enforced by the microprocessor. This language is a set of numbers that represent operations that the microprocessor via its internal circuitry. These instructions, so to speak, are recorded or barbed wire in hardware and cannot be changed.
The lowest level to which we can aspire to reach in a microprocessor control is precisely that of the machine language. Translators are divided into two groups depending on the relationship between language font and language object. When an instruction of a source language generated us a single numerical statement machine we say that that source language is assembler. The transformation of language assembler code machine performed a program assembler, and a disassembler can perform the inverse translation. Unlike the high-level languages, there is usually a correspondence 1 to 1 between the simple instructions of assembler and the machine language. However, in some cases, an assembler may provide pseudo instruction which expands into a larger machine code in order to provide the required functionality. For example, for a machine code conditional as if X greater than or equal to that, an assembler can use a pseudoinstruccion to the group do if less than that, and if = 0? on the outcome of the previous condition. The most complete assemblers also provide a rich macro language that is used to generate more complex code and data streams.