Assembly language is slightly more advanced than machine language, and it simplifies a programmer’s job by implementing the use of mnemonics, instead of 0s and 1s. Mnemonics are memory aids which serve as alphabetic abbreviations for computer instructions. There are a few mnemonics which are common amongst various assembly languages. ADD, and MUL, are a couple examples of common mnemonics. Example assembly statements (ASM) would be: (a) MUL bx, ax; and (b) ADD bx, ax.
A program needs to be written in machine language before a computer can understand it; therefore, all assembly language code must be converted into machine language code before the program can be understood and executed by the machine.
An assembler is a program that is designed to convert assembly language programs into machine language programs. This conversion process turns the mnemonic-based assembly language code into the binary code that is required for execution; therefore, assembly language provides an easier way to write machine language code, as the programmer does not need to work directly with the binary-based machine language.
Assembly language is easier to use than machine language; however, it still requires highly skilled and trained programmers to be used effectively. Like machine language, assembly language is platform dependent. This means that programs generally have to be (at the very least) slightly modified, before they will run on another type of machine.