Llenguatge d'assemblador: diferència entre les revisions

Contingut suprimit Contingut afegit
Millora definició i correccions diverses
m Canvis menors, neteja, replaced: s'utilitza → es fa servir AWB
Línia 1:
{{FR|data=febrer de 2014}}
{{MF|data=febrer de 2014}}
[[Fitxer: Codigo de maquina.png | thumb | 400px | Programa en [[llenguatge de màquina]] del [[Intel 8088|I]]<nowiki/>'[[Intel 8088]]. En blau es mostren les adreces de memòria on es troba el codi. El '''codi màquina''' (en [[hexadecimal]]) està ressaltat en vermell. I en magenta l'equivalent en '''llenguatge assemblador'''. A sota es veu un fragment de text en hexadecimal i en [[ASCII]].]]
El '''llenguatge d'assemblador''' (en anglès ''assembly language'' i l'abreviació '''''asm''''') és un llenguatge de programació de [[Llenguatge de baix nivell|baix nivell]].<ref>{{TERMCAT|llenguatge d'assemblador}}</ref> Consisteix en un conjunt de mnemònics que representen instruccions bàsiques del processador, que tenen una correspondència pràcticament d'[[Funció bijectiva|un a un]] entre les instruccions en assemblador i les instruccions del codi màquina de l'arquitectura. Així, cada [[Processador|arquitectura de processador]] té el seu propi llenguatge assemblador, a diferència de la majoria de [[Llenguatge de programació d'alt nivell|llenguatges de programació d'alt nivell]], que solen ser portables a través de múltiples arquitectures però requereixen, llavors, ser [[Intèrpret (informàtica)|interpretats]] o [[Compilador|compilats]].
 
Línia 19:
* '''Assembladors bàsics'''. Són de molt baix nivell, i la seva feina consisteix bàsicament a oferir nombres simbòlics a les distintes [[instrucció|instruccions]], paràmetres i coses com les formes d'adreçament. A més, reconeix una sèrie de '''directives''' (o [[meta instruccions]]) que indiquen certs paràmetres de funcionament de l'assemblador.
* '''Assembladors modulars''', o [[macro assemblador]]s. Descendents dels assembladors bàsics, foren molt populars en les dècades dels [[1950s|50]] i els [[1960s|60]], abans de la generalització dels [[Llenguatges de programació d'alt nivell|llenguatges d'alt nivell]]. Fan tot el que pot fer un assemblador, i a més a més proporcionen una sèrie de directives per definir i invocar [[macroinstrucció|macroinstruccions]] (o simplement, '''macros'''). ''Vegeu [[X86]]''.
 
* '''Assembladors modulars 32-bits''' o '''d'alt nivell'''. Són assembladors que van aparèixer com a resposta a una nova arquitectura de processadors de 32 bits, molts d'ells ''mantenint la compatibilitat'' podent treballar amb programes amb estructures de 16 bits. A més a més de realitzar la mateixa feina que els anteriors, permetent també l'ús de macros, permetent utilitzar estructures de programació més complexes pròpies dels llenguatges d'alt nivell.
 
Linha 27 ⟶ 26:
 
Inicialment la traducció assemblador-màquina havia de fer-se a mà, però aviat apareixerien programes traductors (degut en part a la forma exageradament mecànica de la traducció).
Més endavant va ésser gairebé arraconat pels [[Llenguatge de tercera generació|llenguatges de tercera generació]] que reduïen la complexitat del programes i la dependència en l'arquitectura de la màquina.
 
Els seus principals inconvenients són:
Linha 34 ⟶ 33:
* És dependent de l'arquitectura del [[Unitat Central de Procés|processador]].
 
El seu principal avantatge és la seva eficiència d'execució.
 
Actualment només s'utilitzaes fa servir per fer programes que interaccionin directament amb el [[maquinari]] o amb un gran requeriment d'eficiència.
 
== Vegeu també ==
* [[Desassemblador]]
 
== Enllaços externs ==
Linha 54 ⟶ 53:
*http://nasm.sourceforge.net/ {{format ref}}
*http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469&part=SW007002 {{format ref}}
* [http://www.mis-algoritmos.com/?p=56 Multiplicació en assemblador] (Exemple bàsic) {{format ref}}
* [http://www.mis-algoritmos.com/asm.html Exemples en assemblador per IBM PC i compatibles] {{format ref}}
* {{ref-web|url= http://www.lawebdelprogramador.com/codigo/masvotados.php?id=29&texto=Ensamblador {{es}} |títol=Los códigos más votados de Ensamblador<!--Títol generat per bot-->}}
== Referències ==
{{Referències}}
{{Autoritat}}
 
{{Llenguatges de programació}}
 
[[Categoria:Classificació dels llenguatges de programació|Assemblador]]
[[Categoria:Eines de programació]]
 
{{Llenguatges de programació}}
 
[[Categoria:Articles amb interviquis enllaçats a seccions]]