Etiquetas en el ensamblador

Re: Etiquetas en el ensamblador

de Julio Perez -
Número de respuestas: 0
Juan Andrés:

en tiempo de ensamblado no tenés acceso al contador de programa (PC) ni a

los registros del procesador.

Lo que estás haciendo en ese momento es traducir un texto (el programa tal

como lo escribiste) y generar la secuencia de bytes que habrá después que

almacenar en la memoria del procesador.

Normalmente se hace utilizando un programa (el programa ensamblador), que

lee un archivo de texto y escribe el resultado en un archivo binario, pero

también podrías hacerlo con papel y lápiz (o en el pizarrón) como lo

hicimos en clase.



Ese proceso de traducción  por lo general se hace recorriendo el archivo de

texto con el programa fuente. En ese proceso de traducción en general se

usa una variable "contador de posiciones" en la que se lleva la cuenta de

en qué posición de memoria va a residir el resultado de la traducción de la

próxima línea. Si estoy ensamblando a mano esto se hace simplemente

anotando al comienzo de cada línea el valor de esa dirección de memoria.



Te recuerdo de nuevo que acá no hay ningún procesador z80 ejecutándose. Hay

un humano leyendo cada línea de programa de una hoja de papel (o un

programa ensamblador leyéndolas desde un archivo de texto) y deduciendo el

valor binario correspondiente y en qué dirección de memoria debe cargarse.



El resultado de ese proceso es el código de máquina del programa. Ese

código de máquina debe cargarse por algún mecanismo en la memoria del

procesador.



Recién ahí el procesador va a ejecutar el programa, leyéndolo desde memoria

de a una instrucción por vez.

El contador de posiciones ya no existe, dejó de existir cuando el programa

ensamblador terminó de hacer la traducción para generar el código de

máquina.



Espero haber aclarado algo.

Saludos,