El lenguaje de programación de bajo nivel (lenguaje de programación de bajo nivel) es un lenguaje de programación que está cerca de programar directamente en los códigos de máquina del procesador real o virtual (por ejemplo, bytecode, IL) utilizado. La notación mnemotécnica se usa generalmente para designar instrucciones de máquina. Esto permite memorizar comandos no como una secuencia de ceros y unos binarios, sino como abreviaturas significativas de palabras del lenguaje humano (generalmente inglés).
A veces, una designación mnemotécnica corresponde a un grupo completo de instrucciones de máquina que realizan la misma acción en diferentes operandos . Además de las instrucciones de máquina, los lenguajes de programación de bajo nivel pueden proporcionar funciones adicionales, como definiciones de macros (macros). Con la ayuda de directivas, es posible controlar el proceso de traducción de códigos de máquina, brindando la capacidad de ingresar constantes y cadenas literales, reservar memoria para variables y colocar código ejecutable en direcciones específicas. A menudo, estos lenguajes le permiten trabajar con variables en lugar de ubicaciones de memoria específicas.
Por regla general, los lenguajes de bajo nivel utilizan las características de una familia particular de procesadores. Un ejemplo bien conocido de lenguaje de bajo nivel es el lenguaje ensamblador , aunque es más correcto hablar de un grupo de lenguajes ensambladores. Además, para un mismo procesador, pueden existir varios tipos de lenguaje ensamblador que coinciden en las instrucciones máquina, pero difieren en un conjunto de funciones adicionales (directivas y macros).
Además , CIL , utilizado en la plataforma Microsoft .NET , Forth