codigo fuente y codigo objeto
Es un programa es un conjunto de instrucciones que se le da a una computadora para que haga algo. Para hacer un programa se emplea un lenguaje de programación. La computadora sólo entiende un lenguaje: el suyo. Y sólo podemos hablarle con él. Su lenguaje es el codigo de maquina binario, una serie de 1 y 0. Como eso es muy complicado, se inventaron los llamadoslenguaje de programacion.
Son lenguajes parecidos a los naturales (los que usamos los humanos), pero con una serie de palabras especiales con una estructura especial.
El término código fuente también se usa para hacer referencia al código fuente de otros elementos del software, como por ejemplo el código fuente de una pagina web que está escrito en el lenguaje de marcado html o en java scriptu otros lenguajes de programación web y que es posteriormente ejecutado por el navegador webpara visualizar dicha página cuando es visitada.

El código objeto es el que genera el compilador. Cuando luego se va a ejecutar, se carga en la memoria del ordenador y se ejecuta.
Cuando el código objeto es relocalizable, la posición de memoria donde se cargue para ejecutar, no importa, y puede cargarse directamente, o haciendo pocos cambios.
Un ejemplo típico es las instrucciones de salto. Por ejemplo, el código:
Nº Instrucion Instruccion
1 CMP AX, 3
2 JNZ 4
3 MOV AX, 0
4 <sigue el programa>
donde, en la instrucción 1 se compara el contenido del registro AX con el valor 3, y si no son iguales, en la instrucción 2 se salta a 4.
Pues bien, este salto tiene una etiqueta _absoluta_ a la dirección (o posición de memoria) 4, por tanto, no será relocalizable, pues es obligatorio que la instrucción 4 ("<sigue el programa>"), se cargue siempre en la dirección 4 de memoria.
