Un linguaggio di assemblaggio è un linguaggio di programmazione che può essere usato per dire direttamente al computer cosa fare. Un linguaggio assembly è quasi esattamente come il codice macchina che un computer può capire, tranne per il fatto che usa le parole al posto dei numeri. Un computer non può capire direttamente un programma di assemblaggio. Tuttavia, può facilmente cambiare il programma in codice macchina sostituendo le parole del programma con i numeri che rappresentano. Un programma che lo fa si chiama assemblatore.

I programmi scritti in linguaggio assembly sono di solito costituiti da istruzioni, che sono piccoli compiti che il computer esegue quando esegue il programma. Sono chiamate istruzioni perché il programmatore le usa per istruire il computer su cosa fare. La parte del computer che segue le istruzioni è il processore.

Il linguaggio di assemblaggio di un computer è un linguaggio di basso livello, il che significa che può essere utilizzato solo per eseguire i semplici compiti che un computer può comprendere direttamente. Per eseguire compiti più complessi, si deve dire al computer ciascuno dei semplici compiti che fanno parte del compito complesso. Per esempio, un computer non capisce come stampare una frase sul suo schermo. Invece, un programma scritto in montaggio deve dirgli come fare tutti i piccoli passi che sono coinvolti nella stampa della frase.

Un tale programma di assemblaggio sarebbe composto da molte, molte istruzioni, che insieme fanno qualcosa che sembra molto semplice e basilare per un umano. Questo rende difficile per gli umani leggere un programma di assemblaggio. Al contrario, un linguaggio di programmazione di alto livello può avere una singola istruzione come PRINT "Hello, world!" che dirà al computer di eseguire tutti i piccoli compiti per voi.