Un assemblatore è un programma che converte il linguaggio assembly in codice macchina. Prende i comandi e le operazioni di base dal codice assembly e li converte in codice binario che può essere riconosciuto da uno specifico tipo di processore.
Gli assemblatori sono simili ai compilatori in quanto producono codice eseguibile. Tuttavia, gli assemblatori sono più semplicistici poiché convertono solo codice di basso livello (linguaggio assembly) in codice macchina. Poiché ogni linguaggio assembly è progettato per un processore specifico, l'assemblaggio di un programma viene eseguito utilizzando una semplice mappatura uno-a-uno dal codice assembly al codice macchina. I compilatori, d'altra parte, devono convertire il codice sorgente generico di alto livello in codice macchina per uno specifico processore.
La maggior parte dei programmi sono scritti in linguaggi di programmazione di alto livello e sono compilati direttamente in codice macchina usando un compilatore. Tuttavia, in alcuni casi, il codice assembly può essere usato per personalizzare le funzioni e garantire che si comportino in un modo specifico. Perciò, gli IDE spesso includono assemblatori in modo da poter costruire programmi sia da linguaggi di alto che di basso livello.