Вы находитесь на странице: 1из 2

lenguaje ensamblador: el lenguaje en que esta escrito un programa se llama fuente, el lenguaje en que es transformado se llama objeto, y el programa

que transforma un programa se lla ma traductor. la traduccin se usa cuando se tiene un procesador para ejecutar el lenguaje objet o, pero no el lenguaje fuente. si la traduccin es correcta, al ejecutar el progra ma objeto, se obtiene el mismo resultado que al ejecutar el programa fuente orig inal. diferencias entre traduccin e interpretacin: en la taduccin, el programa original es transformado en otro programa llamado obj eto antes de ser ejecutado. as su ejecucin es mas rpida. en la interpretacin, el programa original se ejecuta sin ser transformado, pero s uele ser ms pequeo y fleccible. cuando se ejecuta el programa objeto, solo hay tres nivles: el de maquina tradici onl, el de maquina de sistema operativo, y el de microprograma. por eso, en la me moria solo se ejecutan el programa objeto, sistema operativo, y el microprograma . el programa fuente desaparece. que es un lenguaje ensamblador?: un lenguaje ensamblador puro, es aquel donde una sentencia produce una instruccin de mquina. la razn por la que se programa en lenguaje ensamblador y no en lenguaje de alto n ivel, es que es mas facil programar en ensamblador. quien programa en ensamblador puede otorgar nombres cinblicos a una direccin de me moria, y dejar que el ensamblador se encargue de los valores numricos. en cambio, quien programa en lenguaje de alto nivel debe ocuparse de los valores numericos . el lenguaje ensamblador puede ejecutarse en algunas maquinas, mientras que el le nguaje en alto nivel puede ejecutarse en cualquier maquina. formato de una sentencia: las sentencias que son ordenes para el sistema se llaman seudo-instrucciones. las instrucciones en un ensamblador tienen 4 campos: campo de etiquetas: sirven para colocar nombres a las direcciones. se usan en se ntencias ejecutables para poder saltar a ellas, y en instrucciones de asignacin p ara que cada dato almacenado all pueda ser accedido a traves de un nombre. en un lenguaje ensamblador, los caracteres de las etiquetas se limitan a 6 u 8. en cambio, en un lenguaje de alto nivel, el numero de caracteres puede ser cualq uiera. los nombres largos son mas legibles y entendibles para otras personas. campo de operacin: contiene una abrebiacin simblica del condigo de operacin (si la i nstruccin es una representacin simbolica de la instruccion de maquina), o una seud o-instruccin ( si la sentencia es una orden para el ensamblador). campo de operandos: se usa para especificar las direcciones y registros que la i nstruccin de maquina usa como datos. campo de comentarios: sirve para explicar el funcionamiento de un programa, el p rogramador puede usarlo y modificarlo posteriormente. proceso de ensamblaje: ensamblador de dos pasadas: las sentencias adelantadas pueden tratarse de dos modos. un modo es que el ensam blador realice dos lecturas al programa. cada lectura se llama pasada, y el trad uctor que hace las dos pasadas se llama traductor de dos pasadas. primera pasada: se crea una tabla de simbolos donde se guardan los valores de l os simbolos. un simbolo es una etiqueta o un valor numerico al que se le asigna un nombre simbolico mediante una seudo-instruccin.

al asignar un valor a un simbolo que se encuentra en la zona de etiquetas, el en samblador necesita saber la direccin donde se guardara la instruccin. para saberla , el ensamblador mantiene una variable durante el ensamblaje llamada contador de posiciones de instrucciones o i l c. esta variable se mentiene en o al comienzo de la primera pasada, y se le asignan las longitudes de cada instruccin que se p rocesan. algunos ensambladores permiten escribir instrucciones con autodireccionamiento, aunque no exista una instruccin correspondiente en la maquina real. dicha instruc cin con operando seudoinmediato se trata de la siguiente forma. el ensamblador reserba parte de la memoria al final del programa para el dato au todireccinado, y escribe una instruccin que hace referencia a ella. se llama literales a las constantes para las cuales, el ensamblador reserba memo ria automatica. ademas de ahorrar escritura, los literales hacen mas legible el programa, colocando el valor de la constante en la instruccin fuente original. la primera pasada debe crear una tabla con todos los literales que usa el programa . la mayoria de los ensambladores utilisan al menos 2 tablas: la tabla de signos, la tabla de codigo de operacin, y algunas veses, la tabla de literales. la tabla de codigo de operacin contiene un elemento por cada codigo de operacin. segunda pasada: se crea el lenguaje objeto, se imprime la planilla de ensamblaje , y se reune la informacin necesaria para que el programa enlace los procedimient os ensamblados en tiempos distintos. el procedimiento correspondiente a cada clase de instruccin sabe cuantos datos p uede contener cada clase y llama al procedimiento evalaexpresin el numero de veses apropiado. el procedimiento evalaexpresin transforma los valores simbolicos en nu meros binarios. primero busca los valores de los simbolos y las direccines de los literales en las respectivas tablas. cuando se conosen los valores, se evala la expresin. tabla de smbolos: hay muchas formas de organizar una tabla de smbolos. el modo mas sencillo es el s ecuencial, que ordena la tabla como un vector de pares. el primer elemento es el smbolo y el sengundo es el valor. una vez definido el elemento a buscar, la ruti na de la tabla hace una busqueda lineal hasta encontrarlo. otro metodo consiste en ordenar la tabla y usar un algoritmo de busqueda binaria para encontrarlo. el algoritmo compara el valor de elemento central con su smbol o. si

Вам также может понравиться