Assembly language is a low level programming language similar to machine language, but far easier to write and understand because machine language binary instructions and operands are replaced by mnemonics that are comprehensible to humans. Just As a program written in programming language requires a translator to translate the source program in machine code, a program written in assembly language uses the utility named as assembler for translation purpose. Assembly language is the most basic programming language available for any processor.
With assembly language, a programmer works only with operations implemented directly on the physical CPU. Assembly language lacks high-level conveniences such as variables and functions, and it is not portable between various families of processors.