ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

PRESENTACION DE PROGRAMACION

Emilio CooperPráctica o problema30 de Julio de 2021

5.800 Palabras (24 Páginas)112 Visitas

Página 1 de 24

El lenguaje ensamblador, o assembler (en inglés assembly language y la abreviación asm), es un lenguaje de programación de bajo nivel. Consiste en un conjunto de mnemónicos que representan instrucciones básicas para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura de procesador y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. Cada arquitectura de procesador tiene su propio lenguaje ensamblador que usualmente es definida por el fabricante de hardware, y está basada en los mnemónicos que simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria y otras características del lenguaje. Un lenguaje ensamblador es por lo tanto específico de cierta arquitectura de computador física (o virtual). Esto está en contraste con la mayoría de los lenguajes de programación de alto nivel, que idealmente son portátiles.

Un programa utilitario llamado ensamblador es usado para traducir sentencias del lenguaje ensamblador al código de máquina del computador objetivo. El ensamblador realiza una traducción más o menos isomorfa (un mapeo de uno a uno) desde las sentencias mnemónicas a las instrucciones y datos de máquina. Esto está en contraste con los lenguajes de alto nivel, en los cuales una sola declaración generalmente da lugar a muchas instrucciones de máquina.

Muchos sofisticados ensambladores ofrecen mecanismos adicionales para facilitar el desarrollo del programa, controlar el proceso de ensamblaje, y la ayuda de depuración. Particularmente, la mayoría de los ensambladores modernos incluyen una facilidad de macro (descrita más abajo), y se llaman macro ensambladores.

Fue usado principalmente en los inicios del desarrollo de software, cuando aún no se contaba con potentes lenguajes de alto nivel y los recursos eran limitados. Actualmente se utiliza con frecuencia en ambientes académicos y de investigación, especialmente cuando se requiere la manipulación directa de hardware, alto rendimiento, o un uso de recursos controlado y reducido. También es utilizado en el desarrollo de controladores de dispositivo (en inglés, device drivers) y en el desarrollo de sistemas operativos, debido a la necesidad del acceso directo a las instrucciones de la máquina. Muchos dispositivos programables (como los microcontroladores) aún cuentan con el ensamblador como la única manera de ser manipulados

Características

  • El código escrito en lenguaje ensamblador posee una cierta dificultad de ser entendido directamente por un ser humano ya que su estructura se acerca más bien al lenguaje máquina, es decir, lenguaje de bajo nivel.
  • El lenguaje ensamblador es difícilmente portable, es decir, un código escrito para un Microprocesador, suele necesitar ser modificado, muchas veces en su totalidad para poder ser usado en otra máquina distinta, aun con el mismo Microprocesador, solo pueden ser reutilizados secciones especiales del código programado.
  • Los programas hechos en lenguaje ensamblador, al ser programado directamente sobre Hardware, son generalmente más rápidos y consumen menos recursos del sistema (memoria RAM y ROM). Al programar cuidadosamente en lenguaje ensamblador se pueden crear programas que se ejecutan más rápidamente y ocupan menos espacio que con lenguajes de alto nivel.
  • Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas por un Microprocesador por lo que se pueden crear segmentos de código difíciles de programar en un lenguaje de alto nivel.
  • También se puede controlar el tiempo en que tarda una Rutina en ejecutarse, e impedir que se interrumpa durante su ejecución.
  • El lenguaje ensamblador es un código estructurado y gravitatorio desarrollado sobre un archivo de programación (.ASM), en el cual pueden existir varios programas, macros o rutinas que pueden ser llamados entre sí.

TIPOS DE LENGUAJE ENSAMBLADOR

ENSAMBLADORES CRUZADOS(CROSS-ASSEMBLER)

Se denominan así los ensambladores que se utilizan en una computadora que posee un procesador diferente al que tendrán las computadoras donde va a ejecutarse el programa objeto producido. El empleo de este tipo de traductores permite aprovechar el soporte de medios físicos (discos, impresoras, pantallas, etc.), y de programación que ofrecen las máquinas potentes para desarrollar programas que luego los van a ejecutar sistemas muy especializados en determinados tipos de tareas.

 ENSAMBLADORES DE UNA FASE

Estos ensambladores leen una línea del programa fuente y la traducen directamente para producir una instrucción en Lenguaje maquina o la ejecuta si se trata solo de una pseudo-instruccion. También va construyendo la tabla de Símbolos a medida que van apareciendo las definiciones de Variables, etiquetas, etc. Debido a su forma de traducción, estos ensambladores obligan a definir los símbolos antes de ser empleados para que cuando aparezca una referencia a un determinado símbolo en una instrucción, se conozca la dirección de dicho símbolo y se pueda traducir de forma correcta. Estos Ensambladores son sencillos baratos y ocupan poco espacio pero tiene el inconveniente indicado

ENSAMBLADORES DE DOS FASES

Los ensambladores de dos fases se denominan así debido a que realizan la traducción en dos etapas. En la primera fase, leen el programa fuente y construyen una tabla de símbolos.De esta manera, en la segunda fase vuelven a leer el programa fuente y pueden ir traduciendo totalmente, puesto que conocen la totalidad de símbolos utilizados y las posiciones que se les ha asignado.Estos ensambladores son los mas utilizados en la actualidad.

ENSAMBLADORES RESIDENTES

Son aquellos que permanecen en la memoria principal de la computadora y cargan, para su ejecución al programa objeto producido. Este tipo de ensamblador tiene la ventaja de que se puede comprobar inmediatamente el programa sin necesidad de transportarlo un lugar a otro, como se hacia en cross assembler, y sin necesidad de programas simuladores.Sin embargo, puede presentar problemas de espacio de memoria, ya que el traductor ocupa espacio que no puede ser utilizado por el programador. Asimismo, también ocupara memoria el programa fuente y el programa objeto. Esto obliga a tener un espacio de memoria relativamente amplio y el indicado para desarrollos de pequeños sistemas de control y automatismo empleando microprocesadores.

MACROENSAMBLADORES

Son ensambladores que permiten el uso de micro-instrucciones (macros). Debido a que su potencia, normalmente son programa robustos que no permanecen en memoria una vez generado el programa objeto. Puede variar la complejidad de los mismos dependiendo de las posibilidades de definición y manipulación de las macro-instrucciones, pero normalmente son programas bastantes complejos, por lo que suelen ser ensambladores residentes.

MICROENSAMBLADORES

Generalmente, los procesadores utilizados en las computadoras tienen un repertorio fijo de instrucciones es decir, que el interprete de las mismas interpretaba de igual forma un determinado código de operación. El programa que indica al interprete de instrucciones de la CPU como debe actuar se denomina micro-programa. El programa que ayuda a realizar este micro-programa se llama micro ensamblador. Existen procesadores que permiten la modificación des sus micro-programas, para lo cual se utilizan micro ensambladores.

ventajas

  • velocidad de ejecución de los programas
  • mayor control sobre el hardware de la computadora

desventajas

  • repeticion constante de grupos de instrucciones
  • no  existe una sintaxis estandarizada
  • cada procesador posee su set de instrucciones
  • dificultad para encontrar errores en los programas

EMU8086[pic 1]

EMU8086 - MICROPROCESSOR EMULATOR es un emulador gratuito para múltiples plataformas. Proporciona a su usuario la capacidad de emular viejos procesadores 8086, que se utilizaron en computadoras Macintosh y Windows desde los años 80 y principios de los 90. Puede emular una gran cantidad de software que se utilizó en estos microprocesadores, pero un usuario inteligente también puede programar su propio código de ensamblaje para ejecutarlo

¿Qué puedes hacer?

EMU8086: EMULADOR DE MICROPROCESADOR emula principalmente el procesador, no las otras funciones que tendría un microordenador que ejecuta un procesador 8086. Sin embargo, todavía tiene muchas de las mismas funciones que un emulador para un microordenador más específico podría tener, y muchas más. Por ejemplo, tanto el NEC-P9801 como las primeras computadoras compatibles con IBM usaron el 8086. Usando EMU8086, uno podría escribir software de ensamblaje que pueda ejecutarse en cualquiera de esos dispositivos. Por otro lado, EMU8086 no puede acceder a algunas de las funciones de hardware más avanzadas que puede encontrar en los monitores u otros componentes de esos dispositivos.

...

Descargar como (para miembros actualizados) txt (39 Kb) pdf (860 Kb) docx (781 Kb)
Leer 23 páginas más »
Disponible sólo en Clubensayos.com