Sei sulla pagina 1di 3

NOMBRE:

Mauricio Contreras Espinosa

MATRICULA:
U167057N0041

ASESOR:
Jose Antonio Negreros Orellana

MATERIA:
Diseño de compiladores

TEMA:
Generación de código objeto

CARRERA:
Ingeniería en Tecnologías de la Información y la
Comunicación

25 de Noviembre 2019
¿Que es el código ensamblador?

El lenguaje ensamblador expresa las instrucciones de una forma más natural al


hombre a la vez que muy cercana al microcontrolador, ya que cada una de esas
instrucciones se corresponde con otra en código máquina, el cual trabaja con
nemónicos, que son grupos de caracteres alfanuméricos que simbolizan las
órdenes o tareas a realizar. La traducción de los nemónicos a código máquina
entendible por el microcontrolador la lleva a cabo un programa ensamblador, por
último lenguaje ensamblador se denomina código fuente (*.asm). El programa
ensamblador proporciona a partir de este fichero el correspondiente código
máquina, que suele tener la extensión *.hex.

¿Por que el código objeto en los programas directamente ejecutables por un


sistema operativo se les conoce como código ensamblado?

Por posiciones de memoria se seleccionan para cada una de las variables usadas
por el programa. Después, cada una de las instrucciones intermedias se traduce a
una secuencia de instrucciones de máquina que ejecuta la misma tarea. Un aspecto
decisivo es la asignación de variables a registros.
El generador de código objeto puede considerarse como la penúltima fase de un
compilador, la cual se encarga de tomar como entrada el código intermedio
generado por el front-end, y producir código objeto de la arquitectura target para
luego entrar en la fase de optimización de código

¿Que es la ingeniería inversa (en el contexto de un desensamblador)?

Se le llama así porque no es generar códigos, sino que, el código fuente es


examinado, analizado y convertido en entidades par deposito. Su primer paso es
cargar en conjunto de herramientas de código de programas existentes, según ese
conto de herramientas.
Escoge un desensamblador e investiga como funciona.

Ensambladores Cruzados

Es aquel que se ejecuta sobre un computador con un procesador diferente de aquel


para el que se ensambla el código. Los ensambladores cruzados permiten a un
programador desarrollar programas para diferentes sistemas sobre un computador.
Sin embargo, excepto en el caso de minicomputadores y grandes computadores
que pueden ofrecer un simulador de microprocesador destinatario real, no se puede
normalmente probar y depurar el código creado por un ensamblador cruzado sin
ejecutarse sobre una maquina real que utilice este procesador. En cualquier caso,
siempre se debe utilizar la sintaxis correcta, esto es, códigos OP, operandos, y así
sucesivamente, para el microprocesador para el que el ensamblador cruzado esta
diseñado. Ej. asMSX es un ensamblador cruzado para MSX [cross-assembler], es
decir, un programa que genera archivos binarios para MSX (y para cualquier otra
máquina que utilice el microprocesador Z80) desde cualquier plataforma IBM/PC
con el sistema operativo Windows (cualquier versión).
Como se especifica en la propia documentación del programa, existen otros muchos
ensambladores para MSX, tanto cruzados como nativos para MSX, y cada uno de
ellos tiene sus propias características propias, con sus puntos fuertes y débiles.
asMSX no pretende ser el mejor de ellos, ni siquiera el más potente, pero quizás sí
uno de los más cómodos para programar para MSX. Incorpora un juego creciente
de macroinstrucciones destinado a facilitar la tarea del desarrollador para MSX,
encargándose por sí sólo de generar las cabeceras y los formatos necesarios para
que el resultado final sea directamente utilizable en un ordenador MSX, sea cual
sea la opción elegida.
Para más información, consultar la documentación que acompaña el programa.

Potrebbero piacerti anche