Llenguatge d'assemblador: diferència entre les revisions

Contingut suprimit Contingut afegit
m Manteniment de plantilles
m Tipografia
Línia 18:
Actualment només es fan servir per fer programes que interaccionin directament amb el [[maquinari]] o amb un gran requeriment d'eficiència.
 
Els llenguatges d'assemblador van ser desenvolupats per primer cop als anys 1950, quan van ser referits com a llenguatges de programació de segona generació. Per exemple, el '''SOAP''' (''Symbolic Optimal Assembly Program'') era un llenguatge d'assemblador de 1957 per al computador [[IBM 650]]. Els llenguatges d'assemblador van eliminar molta de la propensió a errors i del consum de temps de la programació dels llenguatges de primera generació, que es necessitava amb els primers computadors, alliberant als programadors del tedi de recordar codis numèrics i càlculs de direcció. Durant un temps van ser àmpliament utilitzats per a tota mena de programació. Tanmateix, durant els anys 1980 (1990 en els [[Microordinador|microcomputadors]]), el seu ús havia sigut en gran part suplantat pels [[Llenguatge de programació d'alt nivell|llenguatges d’altd'alt nivell]], en la cerca de una productivitat millorada en programació.
 
Avui en dia, tot i que els llenguatges d’assembladord'assemblador són majoritàriament gestionats i generats per compiladors, encara s’utilitzens'utilitzen per a la manipulació directa del hardware, accés a instruccions especialitzades del processador, o per a resoldre problemes d’acomplimentd'acompliment crític. Els usos típics són controlables/conductors (''[[drivers]]'') de dispositius, sistemes encastats de baix nivell, i sistemes de temps real.
 
Històricament, un gran nombre de programes han sigut escrit completament en llenguatges d’assembladord'assemblador. Els sistemes operatius van ser quasi exclusivament escrits en llenguatges d’assembladord'assemblador fins l’àmplial'àmplia acceptació del [[llenguatge de programació C]] en els anys 1970 i principis dels 1980. A més, moltes aplicacions comercials van ser escrites en llenguatges d’assembladord'assemblador, incloent una gran quantitat del software escrit per grans corporacions per a mainframes de IBM. Els llenguatges [[COBOL]] i [[FORTRAN]] van desplaçar molt d’aquestd'aquest treball de forma eventual, tot i que un gran nombre de grans organitzacions van conservar les infraestructures d’aplicacionsd'aplicacions en llenguatges d’assembladord'assemblador fins ben entrats els anys 90.
 
La majoria dels primers microcomputadors van confiar en els llenguatges d’assembladord'assemblador codificant a mà, incloent la majoria dels sistemes operatius i de les grans aplicacions. Això es deu al fet que aquests sistemes tenien greus limitacions de recursos, van imposar idiosincràtiques arquitectures de memòria i de pantalla, i van proporcionar serveis de sistema limitats i amb errors. Cal destacar la falta de compiladors de primera classe de llenguatge d’altd'alt nivell adequats per al ús en un microcomputador. Un factor psicològic també podria haver-hi jugat un paper important: la primera generació de programadors de microcomputadors va conservar una actitud d’aficionatd'aficionat.
 
En un context molt més comercial, les principals raons per a utilitzar els llenguatges d’assembladord'assemblador era crear programes de mida i sobrecàrrega mínima, i major velocitat i confiabilitat.
 
Els típics exemples de programes grans en els llenguatges d’assembladord'assemblador en aquell temps&nbsp;són els sistemes operatius [[IBM PC-DOS|IBM PC DOS]] i aplicacions primerenques com la full de càlcul [[Lotus 1-2-3]], i casi tots els jocs populars per a la família [[Atari 800]] de computadors personals. Fins i tot als anys 1990, la majoria dels videojocs de consolar van ser escrits en assemblador, incloent la majoria de jocs per a la [[Sega Mega Drive|Megra Drive/Genesi]]s i el [[Super Nintendo|Super Nintendo Entertainment System]]. Segons alguns experts de la indústria, el llenguatge d’assembladord'assemblador era el millor llenguatge de programació disponible per obtenir el millor acompliment del [[Sega Saturn|Sega Satur]]<nowiki/>n, una consola per a la qual era notòriament desafiant desenvolupar i programar jocs. El popular joc de arcade NBA Jam (1993) n’ésn'és un altre exemple. L’assembladorL'assemblador ha sigut durant un llarg temps, el llenguatge de desenvolupament primari en els computadors [[Commodore 64]], [[Atari ST]], així com el [[ZX Spectrum]]. Això va ser així en gran part perquè els dialectes del [[BASIC]] en aquests sistemes oferien&nbsp;insuficient velocitat de execució, així com característiques per aprofitar completament el hardware disponible. Alguns sistemes, més notablement el [[Amiga]], fins i tot tenen IDEs amb característiques de depuració i macros molt avançats, com podrien ser el freeware ASM-One assemblar, comparables a les del [[Visual Studio|Microsoft Visual Studio]] (el ASM-Uno precedeix a aquest).
 
L’assembladorL'assemblador per al [[Commodore VIC-20|VIC-20]] va ser escrit per Don French i publicat per French Silk. Amb 1639 bytes de longitud, el seu autor creu que és més petit que s’has'ha escriut mai. L’assembladorL'assemblador suportava l’adreçamentl'adreçament simbòlic usual i la definició de cadenen de caràcters o cadenes hexadecimals. També permetia expressions de direccions que podien combinar-se amb les operacions d’adiciód'adició, subtracció, multiplicació, AND lògic, OR lògic, i exponenciació.
 
== Característiques ==
Línia 42:
 
Els fitxers de codi font en assemblador són fitxers de text ASCII i solen portar l'extensió '''.ASM'''
* El codi escrit en llenguatge d’assembladord'assemblador posseeix una certa dificultat per a ser entès, ja que la seva estructura s’assemblas'assembla al llenguatge de màquina, és a dir, és un llenguatge de baix nivell.
* El llenguatge d’assembladord'assemblador és difícilment portable, és a dir, un codi escrit per a un microprocessador pot necessitar ser modificat per a ser utilitzat en una màquina diferent. Al canviar a una màquina amb una arquitectura diferent, generalment és necessari reescriure’l completament.
* Els programes fets per un programador expert en un llenguatge d’assembladord'assemblador són generalment molt més ràpids i consumeixen menys recursos del sistema (memòria [[Memòria RAM|RAM]] i [[Memòria ROM|ROM]]) que el programa equivalent compilat des d'un llenguatge d’altd'alt nivell. Al programar amb molta cura en llenguatge d’assembladord'assemblador es poden crear programes que s’executens'executen més ràpidament i ocupen menys espai que el amb el llenguatge d’altd'alt nivell.&nbsp;
* Amb un llenguatge d’assembladord'assemblador es té un control molt precís de les tasques realitzades per un microprocessador, pel que es poden crear segments de codi difícils i/o ineficients de programar en un llenguatge d’altd'alt nivell, ja que, entre altres coses, en el llenguatge d’assembladord'assemblador es disposa d’instruccionsd'instruccions del CPU que&nbsp;generalment no estan disponibles en els llenguatges d’altd'alt nivell.
* També es pot controlar el temps en què tarda una rutina en executar-se, i impedir que s’interrompis'interrompi durant la seva execució.
 
== Tipus de programes assembladors ==