El lenguaje ensamblador es un lenguaje bajo nivel, por lo tanto, su uso permite
escribir programas que, si bien el tiempo de programación son largos y sus instrucciones son extensas, su espacio en memoria que este llega a ocupar es muy compacto, sumado a ello la velocidad con la que operan, debido a ello los programas están altamente optimizados. Esto es aplicado para los sistemas embebidos, sistemas que se usan en dispositivos electrónicos como microondas, refrigeradores y otros dispositivos electrónicos, estos son hechos para una funcionalidad en específico, todo lo contrario de una computadora que está hecho para funcionalidades amplias. Trabaja directamente con el microprocesador o bien con los microcontroladores de los sistemas embebidos, como resultado de ello se debe conocer el funcionamiento interno del microprocesador o el microcontrolador ya que este al contrario como un lenguaje de alto nivel no es portable. Tiene la ventaja de romper con las limitantes que tiene los lenguajes de alto nivel, como es el caso de la manipulación a nivel de bits o el cifrado de datos, además este permite el acceso a memoria específicas, además en las aplicaciones de tiempo real, tales como las simulaciones y el monitoreo de hardware, requieren precisión en la sincronización y en las respuestas, este como resultado lo permite. Los lenguajes de alto nivel no proporcionan a los programadores un control exacto sobre el código máquina generado por los compiladores. El lenguaje ensamblador nos permite especificar con precisión el código ejecutable de un programa.
Irvine . kip. R. (2008). Lenguaje ensamblador para computadoras basadas en Intel.
Mexico, D.F.: Pearson Educacion.
Peter Abel. Lenguaje Ensamblador y Programación para PC IBM y compatibles. Editorial Prentice Hall, 3ª edición [1996].