Tipus | llenguatge de programació |
---|---|
Data de creació | 1949 |
Paradigma de programació | non-structured programming (en) |
Extensió dels fitxers | asm i s |
Etiqueta d'Stack Exchange | Etiqueta |
Un llenguatge d'assemblador (en anglès assembly language i l'abreviació asm) és un llenguatge de programació de baix nivell.[1] Consisteix en un conjunt de mnemònics que representen instruccions bàsiques del processador, que tenen una correspondència pràcticament d'un a un entre les instruccions en assemblador i les instruccions del codi màquina de l'arquitectura. Així, cada arquitectura de processador té el seu propi llenguatge assemblador, a diferència de la majoria de llenguatges de programació d'alt nivell, que solen ser portables a través de múltiples arquitectures però requereixen, llavors, ser interpretats o compilats.[2][3]
Un programa utilitari anomenat assemblador és usat per traduir sentències del llenguatge assemblador al codi de màquina del computador objectiu. L'assemblador realitza una traducció més o menys isomorfa (un mapatge d'un a un) des de les sentències mnemòniques a les instruccions i dades de màquina. Això està en contrast amb els llenguatges d'alt nivell, en els quals una sola declaració generalment dona lloc a moltes instruccions de màquina.
Molts sofisticats assembladors ofereixen mecanismes addicionals per facilitar el desenvolupament del programa, controlar el procés d'assemblatge, i l'ajuda de depuració. Particularment, la majoria dels assembladors moderns inclouen una facilitat de macro (descrita més a baix), i es diuen macro assembladors.
Va ser usat principalment en els inicis del desenvolupament de programari, quan encara no es comptava amb potents llenguatges d'alt nivell i els recursos eren limitats. Actualment s'utilitza amb freqüència en ambients acadèmics i d'investigació, especialment quan es requereix la manipulació directa de maquinari, alt rendiment, o un ús de recursos controlat i reduït. També és utilitzat en el desenvolupament de controladors de dispositiu (en anglès, device drivers) i en el desenvolupament de sistemes operatius, a causa de la necessitat de l'accés directe a les instruccions de la màquina. Molts dispositius programables (com els microcontroladors) encara compten amb l'assemblador com l'única manera de ser manipulats.