Ensamblador y Ligador a Utilizar

October 15, 2017 | Author: Jesus Alberto Bonilla Ramos | Category: Assembly Language, Computer Program, Compiler, Software Development, Information Technology Management
Share Embed Donate


Short Description

Descripción: enlazadores...

Description

Resumen del 2.1. Ensamblador (y ligador) a utilizar. Ensamblador. El lenguaje ensamblador es un lenguaje de bajo nivel que se comunica directamente con el hardware de la máquina. El termino ensamblador se refiere a un tipo de programa informático que se encarga de traducir un fichero fuente escrito en un lenguaje ensamblador, a un fichero objeto que contiene código máquina, ejecutable directamente por el microprocesador. El programa lee el fichero escrito en lenguaje ensamblador y sustituye cada uno de los códigos nemotécnicos que aparecen por su código de operación correspondiente en sistema binario para la plataforma que se eligió como destino en las opciones especificas del ensamblador. Características 





ˆ El código escrito en lenguaje ensamblador posee una cierta dificultad de ser entendido ya que su estructura se acerca al lenguaje máquina, es decir, es un lenguaje de bajo nivel. ˆ El lenguaje ensamblador es difícilmente portable, es decir, un código escrito para un microprocesador, puede necesitar ser modificado, para poder ser usado en otra máquina distinta. Al cambiar a una máquina con arquitectura diferente, generalmente es necesario reescribirlo completamente. ˆ 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 y/o muy ineficientes de programar en un lenguaje de alto nivel, ya que, entre otras cosas, en el lenguaje ensamblador se dispone de instrucciones del CPU que generalmente no están disponibles en los lenguajes de alto nivel.

Podemos distinguir entre dos tipos de ensambladores:  Ensambladores modulares 32 bits o de alto nivel, son ensambladores que aparecieron como respuesta a una nueva arquitectura de procesadores de 32 bits, muchos de ellos teniendo compatibilidad hacia atrás pudiendo trabajar con programas con estructuras d 16 bits.  Ensambladores básicos. Son de muy bajo nivel, y su tarea consiste básicamente en ofrecer nombres simbólicos a las distintas instrucciones, parámetros y cosas

tales como los modos. Un ligador, es un programa que enlaza todos los programas o módulos obteniendo lo que denominamos programa ejecutable. Es un programa que enlaza distintos módulos o programas que poseen subprogramas. Además incorporan las denominadas rutinas de librerías en caso de solicitarlas el propio programa.

La generación de un módulo ejecutable a partir de una colección de procedimientos traducidos independientemente requiere un ligador. Los editores ligados pueden efectuar varias funciones últimas además de la simple preparación de un programa objeto para su ejecución estos también se pueden utilizar para construir paquetes de subrutinas u otras cosas secciones que suelen utilizar juntas. Esto puede ser útil a tratar con bibliotecas de subrutinas que manejan lenguajes de programación de alto nivel. Comparados con los cargadores de ligadores los editores de ligado en general tienden a ofrecer mayor flexibilidad y control con el correspondiente incremento de complejidad y sobrecarga. Su tarea principal del enlazador es resolver referencias externas que lleva a cabo la siguiente etapa del proceso de traducción enlazando los módulos ensambladores y los acervos para formar un programa completo. En algunos sistemas el cargador simplemente copia el programa ejecutable a las posiciones de memorias apropiadas y enlazar código intermedio compilado independientemente en un solo módulo de carga resolviendo las diferencias entre Tokens. Al construir un programa algunos de sus módulos pueden colocarse en el mismo módulo fuente y ensamblarse juntos, otros pueden estar en módulos diferentes y ser ensamblados separadamente. En cualquier caso, los módulos objeto resultantes, algunos de los cuales pueden estar agrupados en librerías, deben ser enlazados para formar el módulo de carga, antes de que se pueda ejecutar el programa. Además de dar como salida el módulo de carga, el linker o enlazador imprime un mapa de memoria que indica donde serán cargados los módulos objeto en la memoria. Después de crearse el módulo de carga, éste es cargado por el cargador en la memoria del ordenador y comienza la ejecución. Para linkar con TASM escribimos: tlink /v nombre Tras esto se nos creará el fichero ejecutable (.exe o .com) que el sistema operativo se encargará de cargar en memoria cuando lo ejecutemos. De nuevo, la extensión no es necesaria ponerla y el parámetro /v sólo es útil para el Turbo Debugger.

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF