Saltar al contenido

¿Cómo puedo acceder a más de 15 direcciones de datos desde mi computadora incompleta de 8 bits?

Nuestro grupo de redactores ha estado por horas buscando la solución a tus preguntas, te regalamos la resolución y nuestro deseo es resultarte de gran ayuda.

Solución:

la mitad del byte en la memoria es el código de operación y la otra mitad es la dirección

Bueno, esa es una forma de hacerlo, pero hay muchas formas de hacerlo.

Las instrucciones no tienen que contener la dirección. Las instrucciones que contienen la dirección o el operando generalmente se conocen como modo “inmediato”, pero existen otros modos de direccionamiento. Podría hacer que esos cuatro bits le digan qué registro contiene la dirección a usar, y los registros pueden ser más largos.

El 6502 tiene varios modos de direccionamiento diferentes que usan sus registros de 8 bits, su contador de programa de 16 bits y direcciones inmediatas.

Las instrucciones no tienen que ser de un byte (o palabra) de largo. Ciertamente es más fácil hacerlo de esta manera, pero puede tener instrucciones de varios bytes. X86 es conocido por esto; las instrucciones pueden tener desde un byte hasta quince si agrega suficientes prefijos y modificadores.

Como puede ver en la página de modos 6502, hay un modo de “carga inmediata” que tiene una instrucción de un byte seguida de dos bytes que definen la dirección desde la que cargar.

(Recomiendo encarecidamente encontrar algunas buenas fuentes que no sean videos para aprender, como “NAND to Tetris”)

Un enfoque que ha utilizado la serie de microcontroladores PIC desde la década de 1970 es tener un par de direcciones a las que el PIC se refiere como FSR (dirección 4) e INDF (dirección 0), pero que podrían recibir otros nombres. El FSR se puede leer o escribir como cualquier otro registro, pero un acceso aparente a INDF (es decir, una instrucción cuyo campo de dirección es todo ceros) utilizará la dirección especificada en FSR en lugar de la especificada en la instrucción. En algunos procesadores, la FSR tiene una longitud de 8 bits, aunque el campo de dirección de la instrucción solo tiene 7; no hay razón para que el principio no se pueda aplicar para permitir que una máquina con un campo de dirección de 4 bytes acceda a 256 bytes de RAM.

Si desea ir más allá de 256 bytes, puede agregar un registro FSRH y realizar accesos a la dirección de uso cero FSRH: FSR. Además, en lugar de usar un solo par FSRH:FSR, puede usar dos de ellos para que, por ejemplo, un acceso a la dirección 0 use la dirección FSR1H:FSR1, la dirección 1 use la dirección FSR2H:FSR2, las direcciones 4 y 5 accedan a FSR1 y FSR1H, respectivamente, y las direcciones 6 y 7 accederían a FSR2 y FSR2H. Para minimizar la cantidad de circuitos necesarios para manejar los accesos a registros, se podría implementar FSR1/FSR1H/FSR2/FSR2H como registros de solo escritura (simplemente use 74HC373 o equivalente), pero haga que los accesos a ellos también accedan a los bytes 4-7 de RAM.

Sección de Reseñas y Valoraciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *