Asamblorul (figura 2.1), este un program din domeniul utilitarelor de sistem destinate dezvoltatorilor de aplicatii, dedicat unui limbaj de asamblare pentru un microprocesor dat. Asamblorul prelucreaza un text sursa pentru a construi un fisier in cod obiect cu instructiuni scrise in codul masinii. Fisierul obiect, cu modificari minime, este adus in memoria principala a microprocesorului si este lansat in executie.
Limbajul de asamblare in care este scris fisierul sursa include un set de reguli de manipulare a unui set stabilit de cuvinte, pentru a manevra mnemonici de instructiuni masina, operatori, adrese si variabile, apeluri de gestiune proprie a programului si a datelor. Asamblarea este o operatie univoca, adica, pornind de la acelasi program sursa, se obtine intotdeauna acelasi fisier obiect. Deoarece se poate obtine un acelasi program obiect corect asamblat pornind de la programe sursa diferite, asamblarea nu este biunivoca.
Operatia inversa asamblarii este dezasamblarea. Uzual, un dezasamblor atribuie mnemonici instructiunilor codului obiect dintr-un fisier obiect si atribuie etichete operanzilor instructiunilor cu referiri la adrese de program, construind un fisier sursa. Sarcina cea mai dificila la operatia de dezasamblare consta in decelarea zonelor de date de cele de cod, care de obicei se face interactiv. Dezasamblarea este utila in depanarea unui program obiect al carui program sursa nu este disponibil.