El lenguaje ensamblador es un lenguaje de bajo nivel que se traduce directamente al código máquina de una arquitectura específica. Se utiliza principalmente para mejorar el rendimiento de rutinas críticas, acceder a funciones de bajo nivel del hardware y escribir controladores de dispositivos. Algunas aplicaciones comunes incluyen sistemas embebidos en tiempo real, gráficos y videojuegos, y procesamiento de señales.