Assemblers zijn computerprogramma's die "mnemonics" (instructienamen) en bijbehorende parameters vertalen naar instructiecodes van een bepaalde CPU. De parameters, b.v. het adres van een getal in het geheugen, wordt door zelf gekozen namen aangegeven en door de assembler naar de juiste adreswaarde vertaald.
Maar elke "CPU" heeft zijn eigen "instructieset" (beschikbare instructies) en daarmee ook zijn eigen assembler en die heeft weer zijn eigen "syntax" (taalregels). Dit maakte dat programmeurs niet graag voor veel verschillende CPU's willen programmeren als dat in assembler moet. De leveranciers van CPU-chips zorgen dan ook dat nieuwe ontwerpen zo veel mogelijk overeenkomen met de vertrouwde instructieset en dat de nieuwe processor met de zelfde (misschien uitgebreide) assembler kan worden geprogrammeerd; hierdoor ontstaan er families van processoren..