programming languages that use mnemonics to represent each cpu instruction that are programmer defined.
uses short words (mnemonics) for instructions instead of binary numbers  low level language
classified as a low-level language because it is machine specific, typically reads a program written in an assembly language, which has two parts: the op code and the operand