Lågnivåprogrammeringsspråk (lågnivåprogrammeringsspråk) är ett programmeringsspråk som ligger nära programmering direkt i maskinkoderna för den verkliga eller virtuella (till exempel bytecode, IL) processor som används. Mnemonisk notation används vanligtvis för att beteckna maskininstruktioner. Detta gör det möjligt att memorera kommandon inte som en sekvens av binära nollor och ettor, utan som meningsfulla förkortningar av mänskliga språkord (vanligtvis engelska).
Ibland motsvarar en mnemonisk beteckning en hel grupp av maskininstruktioner som utför samma åtgärd på olika operander . Förutom maskininstruktioner kan lågnivåprogrammeringsspråk ge ytterligare funktioner som makrodefinitioner (makron). Med hjälp av direktiv är det möjligt att styra processen att översätta maskinkoder, vilket ger möjlighet att mata in konstanter och bokstavliga strängar, reservera minne för variabler och placera exekverbar kod på specifika adresser. Ofta låter dessa språk dig arbeta med variabler istället för specifika minnesplatser.
Som regel använder lågnivåspråk funktionerna hos en viss familj av processorer. Ett välkänt exempel på ett lågnivåspråk är assemblerspråk , även om det är mer korrekt att tala om en grupp assemblerspråk. Dessutom, för samma processor, kan det finnas flera typer av assemblerspråk som sammanfaller i maskininstruktioner, men som skiljer sig i en uppsättning ytterligare funktioner (direktiv och makron).
Även CIL , som används i Microsoft .NET- plattformen , Forth