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 have to directly deal 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 must be (at the very least) slightly modified, before they will run on another type of machine.