A
kind programming language that consists of human readable processor instructions (Mnemonics, as opposed to Opcodes, which would be the number representations of the same instructions). Modern assemblers do furthermore also support certain higher
level features, like macros, datatypes or functions.
Also, assembly language is used to distinct the language from the program that translates into machine
code. In general
use, both are called assembler which leads to the need to specify in certain situations.
It should also be noted that while
people often talk about assembly language in general, there is not "the" assembly language, but rather a
large group of them,
one reason being different processor families having different instruction sets, the other being different assembler programs supporting different features, or having different ways of providing those features.