Título: Diferencias resultado ensambladores (no, no es la pregunta clásica VS) Publicado por: farresito en 14 Diciembre 2010, 23:45 pm Holas a todos,
Llevo unos días pensando en una cosilla que me tiene hasta ahí. La cosa es que por internet hay muchos VS entre tal ensamblador o tal otro. Si bien he leído mucho acerca de ello, mi pregunta es más concreta. Cuando se ensambla con un ensamblador u otro ¿hay diferencia alguna entre el resultado de cada uno? Es decir, el resultado en binario será el mismo en todo los ensambladores o habrá alguno que difiera un poco. ¿Se puede 'optimizar' un ensamblador? Por ejemplo, supongamos que tenemos éste código, sacado de una web: Código: Game Port El resultado en binario será el mismo en cada ensamblador (usando, por supuesto, el mismo linker)? Es este aspecto el que hace un ensamblador 'mejor' o 'peor' que otro o solo es los formatos que acepta, los macros... etc. ¡Un abrazo! Agradezco de antemano sus respuestas :) Título: Re: Diferencias resultado ensambladores (no, no es la pregunta clásica VS) Publicado por: Yurix en 21 Diciembre 2010, 19:52 pm La respuesta parcial es SI , empezamos > En el conjunto de instrucciones X86 hay instrucciones que se pueden codificar de varias maneras , incluso manteniendo el mismo tama;o. Se puede incluso identificar el ensamblador o compilador que se uso ,gracias a esto que te acabo de escribir. Incluso hay un programa que incrusta informacion dentro de los opcodes sin modificar el funcionamiento. Lee > http://www.strchr.com/machine_code_redundancy http://www.crazyboy.com/hydan/ Por ejemplo , un compilador o ensamblador (de calidad) puede usar una instruccion mas larga para que la proxima instruccion este alineada (con las respectivas ganancias en velocidad que esto puede traer si esa instruccion se encuentra dentro de un loop donde sera ejecutada varias veces) ver alineamiento en >: http://www.asmcommunity.net/book/Alignment Saludos Espero que te sea util. Título: Re: Diferencias resultado ensambladores (no, no es la pregunta clásica VS) Publicado por: farresito en 26 Diciembre 2010, 11:26 am Muchisimas gracias por tu respuesta y por la buena explicacion :)
Todo entendido :) ¡Un abrazo! |