Você está na página 1de 14

Lenguajes de Interfaz

Introduccin al Lenguaje Ensamblador

Por: Ing. Jos Jess Snc ez !ar"as


jesus.sanc ez#itcela$a.edu.m%

&genda: Caractersticas Importancia Ventajas y desventajas Lenguaje Perspectiva histrica Uso y aplicaciones

'aracter"sticas: El cdigo escrito en lenguaje ensamblador posee una cierta dificultad de ser entendido ya ue su estructura se acerca al lenguaje m! uina" es decir" es un lenguaje de bajo nivel#

El lenguaje ensamblador es difcilmente portable" es decir" un cdigo escrito para un microprocesador" puede necesitar ser modificado" para poder ser usado en otra m! uina distinta# $l cambiar a una m! uina con ar uitectura diferente" generalmente es necesario reescribirlo completamente#

'aracter"sticas:

Los programas hechos por un programador e%perto en lenguaje ensamblador son generalmente mucho m!s r!pidos y consumen menos recursos del sistema &memoria '$( y ')(* ue el programa e uivalente compilado desde un lenguaje de alto nivel# $l programar cuidadosamente en lenguaje ensamblador se pueden crear programas ue se ejecutan m!s r!pidamente y ocupan menos espacio ue con lenguajes de alto nivel# Con el lenguaje ensamblador se tiene un control muy preciso de las tareas reali+adas por un microprocesador por lo ue se pueden crear segmentos de cdigo difciles y,o muy ineficientes de programar en un lenguaje de alto nivel" ya ue" entre otras cosas" en el lenguaje ensamblador se dispone de instrucciones del CPU ue generalmente no est!n disponibles en los lenguajes de alto nivel#

'aracter"sticas: -ambi.n se puede controlar el tiempo en ue tarda una rutina en ejecutarse" e impedir ue se interrumpa durante su ejecucin#

Im(ortancia del lenguaje ensamblador


La importancia del lenguaje ensamblador radica principalmente ue se trabaja directamente con el microprocesador/ por lo cual se debe de conocer el funcionamiento interno de este" tiene la ventaja de ue en el se puede reali+ar cual uier tipo de programas ue en los lenguajes de alto nivel no lo pueden reali+ar# )tro punto sera ue los programas en ensamblador ocupan menos espacio en memoria#
$yuda a conocer a detalle cmo trabaja un CPU Util para Electrnica y 0istemas 1esarrolla 2abilidades de Programacin $van+ada (ejores )portunidades de Empleo en la Industria

)entajas $ des*entajas del Lenguaje Ensamblador


)entajas
Como trabaja directamente con el microprocesador al ejecutar un programa" pues como este lenguaje es el m!s cercano a la m! uina la computadora lo procesa mas r!pido# Eficiencia de tama+o #3 Un programa en ensamblador no ocupa mucho espacio en memoria por ue no tiene ue cargan libreras y dem!s como son los lenguajes de alto nivel !le%ibilidad #3 Es fle%ible por ue todo lo ue puede hacerse con una m! uina" puede hacerse en el lenguaje ensamblador de esta m! uina/ los lenguajes de alto nivel tienen en una u otra forma limitantes para e%plotar al m!%imo los recursos de la m! uina# ) sea ue en lenguaje ensamblador se pueden hacer tareas especficas ue en un lenguaje de alto nivel no se pueden llevar acabo por ue tienen ciertas limitantes ue no se lo permite#

)entajas $ des*entajas del Lenguaje Ensamblador


,es*entajas
-iem(o de (rogramacin #3 Como es un lenguaje de bajo nivel re uiere m!s instrucciones para reali+ar el mismo proceso" en comparacin con un lenguaje de alto nivel# Por otro lado" re uiere de m!s cuidado por parte del programador" pues es propenso a ue los errores de lgica se reflejen m!s fuertemente en la ejecucin# Programas fuente grandes #3 Por las mismas ra+ones ue aumenta el tiempo" crecen los programas fuentes/ simplemente re uerimos m!s instrucciones primitivas para describir procesos e uivalentes# Esto es una desventaja por ue dificulta el mantenimiento de los programas" y nuevamente reduce la productividad de los programadores# Peligro de afectar recursos ines(eradamente #3 4ue todo error ue podamos cometer" o todo riesgo ue podamos tener" podemos afectar los recursos de la ma uina" programar en este lenguaje lo m!s com5n ue pueda pasar es ue la m! uina se blo uee o se reinicialice# Por ue con este lenguaje es perfectamente posible &y sencillo* reali+ar secuencias de instrucciones inv!lidas" ue normalmente no aparecen al usar un lenguaje de alto nivel# !alta de (ortabilidad#3 Por ue para cada m! uina e%iste un lenguaje ensamblador/ por ello" evidentemente no es una seleccin apropiada de lenguaje cuando deseamos codificar en una m! uina y luego llevar los programas a otros sistemas operativos o modelos de computadoras#

.elacin entre el cdigo binario $ el lenguaje ensamblador


En el cdigo binario se utili+an ceros y unos" mientras ue el lenguaje ensamblador es una coleccin de smbolos mnemnicos ue representan6 operaciones" nombres simblicos" operadores y smbolos especiales# La relacin entre estos dos lenguajes sera ue el binario es el lenguaje ue la m! uina entiende y el ensamblador se acerca mas lenguaje de esta#

Lenguaje
El lenguaje ensamblador refleja directamente la ar uitectura y las instrucciones en lenguaje de m! uina de la CPU" y pueden ser muy diferentes de una ar uitectura de CPU a otra# Cada ar uitectura de microprocesador tiene su propio lenguaje de m! uina" y en consecuencia su propio lenguaje ensamblador ya ue este se encuentra muy ligado al la estructura del hard7are para el cual se programa# Los microprocesadores difieren en el tipo y n5mero de operaciones ue soportan/ tambi.n pueden tener diferente cantidad de registros" y distinta representacin de los tipos de datos en memoria# $un ue la mayora de los microprocesadores son capaces de cumplir esencialmente las mismas funciones" la forma en ue lo hacen difiere y los respectivos lenguajes ensamblador reflejan tal diferencia#

Pers(ecti*a istrica
Los lenguajes ensambladores fueron primero desarrollados en los a8os 9:;<" cuando fueron referidos como lenguajes de programacin de segunda generacin# Por ejemplo" el 0)$P &0ymbolic )ptimal $ssembly Program* era un lenguaje ensamblador de 9:;= para el computador I>( ?;<# Los lenguajes ensambladores eliminaron mucha de la propensin a errores y del consumo de tiempo de la programacin de los lenguajes de primera generacin ue se necesitaba con los primeros computadores" liberando a los programadores del tedio tal como recordar cdigos num.ricos y c!lculo de direcciones# Una ve+ fueron ampliamente usados para todo tipo de programacin# 0in embargo" por los a8os 9:@< &9::< en los microcomputadores*" su uso haba sido en gran parte suplantado por los lenguajes de alto nivel" en la b5s ueda de una mejorada productividad en programacin# 2oy en da" aun ue el lenguaje ensamblador es casi siempre manejado y generado por los compiladores" todava se usa para la manipulacin directa del hard7are" acceso a instrucciones especiali+adas del procesador" o para resolver problemas de desempe8o crtico# Los usos tpicos son drivers de dispositivo" sistemas embebidos de bajo nivel" y sistemas de tiempo real#

Pers(ecti*a istrica
2istricamente" un gran n5mero de programas han sido escritos enteramente en lenguaje ensamblador# Los sistemas operativos fueron casi e%clusivamente escritos en lenguaje ensamblador hasta la aceptacin !mplia del lenguaje de programacin C en los a8os 9:=< y principios de los 9:@<# -ambi.n" muchas aplicaciones comerciales fueron escritas en lenguaje ensamblador" incluyendo una gran cantidad del soft7are escrito por grandes corporaciones para mainframes de I>(# Los lenguajes C)>)L y A)'-'$B eventualmente despla+aron mucho de este trabajo" aun ue un n5mero de organi+aciones grandes conservaran las infraestructuras de aplicaciones en lenguaje ensamblador hasta bien entrados los a8os 9::<#

Pers(ecti*a istrica
Los tpicos ejemplos de programas grandes en lenguaje ensamblador de ese tiempo son los sistemas operativos I>( PC 1)0 y aplicaciones tempranas tales como la hoja de c!lculo Lotus 93C3D" y casi todos los juegos populares para la familia $tari @<< de computadores personales# Incluso en los a8os 9::<" la mayora de los videojuegos de cnsola fueron escritos en ensamblador" incluyendo la mayora de los juegos para la (ega 1rive,Eenesis y el 0uper Bintendo Entertainment 0ystem# 0eg5n algunos insiders de la industria" el lenguaje ensamblador era el mejor lenguaje de programacin a usar para obtener el mejor desempe8o del 0ega 0aturn" una cnsola para la cual era notoriamente desafiante desarrollar y programar juegos# El popular juego de arcade B>$ Fam &9::D* es otro ejemplo# El ensamblador ha sido por largo trecho" el lenguaje de desarrollo primario en los computadores hogare8os Commodore ?G" $tari 0-" as como el HI 0pectrum# Esto fue as en gran parte por ue los dialectos del >$0IC en estos sistemas ofrecieron insuficiente velocidad de ejecucin" as como insuficientes caractersticas para aprovechar completamente el hard7are disponible# $lgunos sistemas" m!s notablemente el $miga" incluso tienen I1Es con caractersticas de depuracin y macros altamente avan+ados" tales como el free7are $0(3)ne assembler" comparable a las del (icrosoft Visual 0tudio &el $0(3Uno precede al (icrosoft Visual 0tudio*#

/so $ a(licaciones
Sistemas embebidos: impresoras" c!maras" autos" armas" juguetes" etc# -iem(o .eal: en la industria y manufactura" e#g# ad uisicin datos" control robots -rans(orte: barcos" aviones" sondas espaciales" etc# Entretenimiento: Eraficacin" (ultimedia" Cine y VideoFuegos ,SP: Procesamiento de 0e8ales" vo+ e im!genes 0tras: (edicina" $erona5tica" $rmamento" etc#

Você também pode gostar