uses short words (mnemonics) for instructions instead of binary numbers  low level language
programming languages that use mnemonics to represent each cpu instruction that are programmer defined.
the first symbolic languages; acronyms are assembled into strings of 0's and 1's; used today for special purpose computer applications