esquema de direccionamiento del microprocesador 6502

2

Me estoy preparando para una prueba y actualmente me quedo con la siguiente pregunta.

Tenemos un microprocesador 6502. Para la ejecución de un salto absoluto, la dirección de salto con la dirección byte alto (ADH) y la dirección byte bajo (ADL) se cargan en el contador del programa (PCH, PCL). La pregunta es ahora, ¿por qué no se pueden cargar los dos bytes de dirección en la PC, sino que la ADL debe almacenarse primero en el búfer de datos?

    
pregunta Ovomaltine

2 respuestas

3

La instrucción de salto 6502 tiene una longitud de tres bytes:

JMP   ADRL  ADRH

No es posible cargar ambos bytes de la PC al mismo tiempo, ya que el 6502 es una CPU de 8 bits y puede recuperar solo un byte a la vez.

Por lo tanto, se ejecuta en tres ciclos, uno para cada byte. Una vez que se ha descodificado la instrucción, la CPU sabe que es una instrucción JMP. El byte bajo de la dirección de destino (ADRL) se recupera y luego se mantiene hasta el comienzo del ciclo 3 , de modo que el valor de PC original (actualizado) se puede usar para obtener el byte alto de la dirección (ADRH) en el ciclo 3.

Al comienzo del ciclo 3, se inicia una nueva búsqueda de memoria con la PC original para obtener el byte alto de la nueva dirección. Al mismo tiempo, el valor retenido que comprende ADRL se usa para actualizar el byte bajo de la PC.

Al final del ciclo 3, el valor recuperado (ADRH) se usa para actualizar la dirección alta de la PC. Esto completa la instrucción de salto, ya que la siguiente instrucción se buscará en la nueva ubicación de la PC.

    
respondido por el tcrosley
-2

¿Estás seguro de que tienes un 6502 en mente? De enlace obtengo que el 6502 tiene un JMP directo e indirecto de 16 bits. .

¿Quizás estás pensando en un PIC de 14 bits? Para esos chips, todas las instrucciones tienen un ancho de 14 bits, por lo que no hay espacio suficiente para que los bots especifiquen todos los bits de dirección para los chips con mayor cantidad de memoria, por lo que la dirección se especifica en dos pasos: primero cargando algunos bits en PCH y luego especificando los bits restantes en el salto.

Pero lo que parece describir es otra cosa: cuando, en tal PIC, desea saltar a una dirección calculada, especifique la dirección nuevamente en dos pasos, pero ahora hay más bits en PCH que se utilizan , y la escritura en PCL especifica los 8 bits más bajos.

    
respondido por el Wouter van Ooijen

Lea otras preguntas en las etiquetas