gives instructions to cpu as fundamental operations written as alphabetic codes
uses short words (mnemonics) for instructions instead of binary numbers  low level language
a language that functionality equivalent to machine language but is easier for people to read, write, and understand