programacion:ensamblador:compresor_tapc

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
programacion:ensamblador:compresor_tapc [31-03-2009 07:38] – creado sromeroprogramacion:ensamblador:compresor_tapc [31-03-2009 07:39] (actual) sromero
Línea 53: Línea 53:
  
 \\  \\ 
-===== INTRODUCCION =====+===== Introducción =====
  
  
Línea 59: Línea 59:
  
 \\  \\ 
-===== ANÁLISIS DE LA RUTINA DESCOMPRESORA DE TAPC =====+===== Análisis de la rutina descompresora de TAPC =====
  
  
Línea 364: Línea 364:
  
 \\  \\ 
-===== CONCLUSIONES =====+===== Conclusiones =====
  
 Acabamos de revisar una obra maestra de la optimización en tamaño. Tal vez sea posible ahorrar algún byte extra por algún lado, pero en ese caso os aseguro que no sería nada fácil encontrar dónde. La optimización no sólo se basa en las distintas técnicas (como el bit marcador) y trucos (como los datos de una instrucción que constituyen otra instrucción en si misma, o el guardar una dirección de retorno falsa en la pila) que hemos visto, sino sobre todo en la reutilización de código (los distintos patrones comparten partes del código, en lugar de tener cada uno su apartado), y en el control y la sabia utilización de los registros, que han permitido implementar la descompresión sin necesidad de usar ninguna variable extra aparte de los registros normales y la pila. Acabamos de revisar una obra maestra de la optimización en tamaño. Tal vez sea posible ahorrar algún byte extra por algún lado, pero en ese caso os aseguro que no sería nada fácil encontrar dónde. La optimización no sólo se basa en las distintas técnicas (como el bit marcador) y trucos (como los datos de una instrucción que constituyen otra instrucción en si misma, o el guardar una dirección de retorno falsa en la pila) que hemos visto, sino sobre todo en la reutilización de código (los distintos patrones comparten partes del código, en lugar de tener cada uno su apartado), y en el control y la sabia utilización de los registros, que han permitido implementar la descompresión sin necesidad de usar ninguna variable extra aparte de los registros normales y la pila.
Línea 373: Línea 373:
  
 \\  \\ 
-===== ENLACES =====+===== Enlaces y ficheros =====
  
     * {{:programacion:ensamblador:tapc.zip|tapc.zip}}.     * {{:programacion:ensamblador:tapc.zip|tapc.zip}}.
  • programacion/ensamblador/compresor_tapc.1238485081.txt.gz
  • Última modificación: 31-03-2009 07:38
  • por sromero