# Codigo absoluto y codigo reubicable (relocatable)



## canales (Abr 12, 2007)

Hola a todos.

Haciendo una investigación acerca de cómo usar las librerias en ensamblador me he encontrado en documentos en inglés estos dos términos - absolute code and relocatable code - los cuales son un poco dificil de entender. Sin embargo a lo que yo pude entender es que el codigo absoluto es la forma normal de programación, es decir declarando todo (variables, constantes, etc.) dentro del mismo código original o mejor dicho código fuente. Mientras que el codigo reubicable es como hacer una recopilacición de varios códigos en uno solo (programación modular). 

Aún estoy confundido con ésto, en el foro de Microchip había un tema en donde se debatía la conveniencia de uno y del otro, pero al parecer la mayoría hallaban mejor el reubicable. Pero para mi veo que el reubicable es más complicado, será porque nunca lo he utilizado. Pero ya se me metió la idea de aprenderlo.

Si alguien me puede orientar acerca de ésto se lo agradeceré. Ya he leído el documento de Microchip acerca del MPASM, MPLINK y MPLIB, pero lo hallé muy elevado para mi nivel; hay muchas cosas que no comprendo, quisás porque son términos de programación, y yo no sé mucho de programación, lo unico que sé es un poco de ensamblador (el que se usa para los pic). Así que necesito encontrar un documento que me lleve de la mano y despacio.

Saludos a todos.


----------



## MaMu (Abr 13, 2007)

Siempre relocatable es mejor, ya que te permite modificar independientemente del programa principal, las rutinas que esten almacenadas en cualquier inclución.

Saludos


----------



## tiopepe123 (Abr 13, 2007)

Basicamente estamos hablando de los saltos de programa.

Hay dos tipos de saltos 
Los absolutos : (goto en basic)
Son del tipo salta a la posicion de memoria 0x05000

Los relativos : (gosub)
Salta ocho posiciones (0x5000+8=0x5008)


Utilizando los saltos relativos una misma rutina la puedes colocar aen cualquier posicion de memoria porque los saltos no se veran cambiados.

Con mas literatura, tienes un libro  y estas leyendo la pagina 16 y el ejercicio te dice vete tres paginas mas adelante 16+3=19.
Al cabo de un año lo amplificadoran y la pagina 16 pasa a ser la 32.
Llegas a la pagina 32 del nuevo libro y lees el ejercicio que pone ve tres paginas despues o sea 32+3=35 y efectivamente encuentras el mismo texto apesar que el libro se ha reeditado.
Si ubiera puesto ve a la pagina 19 en la segunda version deberia haber sido rectificado.

Para el programador lo unico que varia es la forma en que lo escribe, una vez tienes el tranquillo es facil, apesar de todo suele haber limitaciones, una de las mas usuales son los desplazamientos relativos no pueden ser mayores -+127 direcciones de memoria.


----------

