Sunday, November 2, 2014

Optimizar subrutinas con codigo comun

Observe el siguiente ejemplo:

Se trata de 2 subrutinas: "lcd_cmd" y "lcd_dat"

  • Del lado derecho esta el "ANTES", a la izquierda el "DESPUES"

  • Las dos rutinas son iguales entre las lineas 71-81 y 87-97 en el "ANTES"
  • Lo que se hizo es compartir esas secciones que son iguales y que la entrada por "lcd_cmd" se salte la parte diferente de "lcd_dat" (ve la etiqueta de dirección "codCom")
  • Observe que en el despues, hay una sola "salida" (comando "return")
  • El resultado es tener ~10 lineas menos de código y el consiguiente ahorro en memoria de programa, un recurso que en ocasiones es limitado y por lo tanto, muy apreciado.


No comments: