ASSEMBLY LANGUAGE (SECOND GENERATION LANGUAGE)
As it was very difficult to generate code in machine language, the assembly language was developed which consisted of small meaningful terms. This is considered to be the second generation language.

An example of an assembly language program for adding two numbers X and Y and storing the result in some memory location:
LDA A Load value of A in accumulator
ADA B Add value of B in the value of accumulator
OUT A Display the content of accumulator on output device
A machine cannot execute an assembly languages program directly as it is not in a binary form. An assembler is needed in order to translate an assembly language program into the object code executable by the machine.
This is illustrated in the figure.

Writing a program in assembly language is more convenient than in machine language. It is more readable. But assembly language has some complications associated with it like:
• Assembly language is not portable. It means that assembly language program written for one processor will not work on a different processor.
• Assembly language program is not as fast as machine language because it has to be first translated into machine (binary) language code.
Machine language and assembly language are referred to as low level languages since the coding for a problem is at the individual instruction level.