Anche se ogni macchina ha un linguaggio Assembly diverso, i processi di assemblaggio, da una macchina all'altra, sono abbastanza simili da rendere possibile una descrizione in termini generali.
L'assemblaggio e' un procedimento sequenziale che esamina, riga per riga, il codice sorgente Assembly, traducendo ciascuna riga in un'istruzione del linguaggio macchina:
Traduce i codici mnemonici delle istruzioni nei corrispondenti codici binari.
Traduce i riferimenti simbolici (variabili, etichette di salto, parametri) nei corrispondenti indirizzi numerici.
Poiche' le etichette di salto generano il problema dei riferimenti in avanti (ossia, riferimenti ad etichette successive o contenute in altri file), l'assemblatore deve leggere il programma sorgente due volte.
Ogni lettura del programma sorgente e' chiamata passo e l'assemblatore e' chiamato traduttore a due passi.