Cómo conectar un byte en una dirección de palabra

by admin

Cómo conectar un byte en una dirección de palabra

La memoria de computadora tiene dos dimensiones: una longitud y una anchura. Un chip de memoria solo puede tener una longitud de un millón de células de memoria (también conocidas como direcciones), cada uno de los cuales son de 8 bits, o 1 byte, de ancho. A pesar de que el chip es de 1 byte de ancho, el controlador de memoria puede acceder a varios bytes a la vez. Cuando varios bytes se unen entre sí, forman una palabra. Una palabra es generalmente de 2, 4 u 8 bytes de largo. Si tiene un controlador de memoria que sólo tiene acceso a direcciones de palabra, puede enviar un byte de datos a él mediante el relleno.

Instrucciones

1 Averigüe cuánto tiempo cada palabra está en su controlador de memoria. Es posible que tenga que mirar esta figura en la hoja de datos que corresponde a su controlador. Suponga que su controlador de memoria usa palabras de 4 bytes de longitud.

2 Restar el número de bytes por palabra por 1. Este es el número de bytes de relleno debe agregar a sus datos antes de conectarlo a la dirección del canal. Continuando con la palabra asunción de 4 bytes, es necesario agregar más de 3 bytes de relleno para el byte de datos.

3 Añadir bytes de relleno en el byte de datos que desea conectarse a la dirección del canal. De forma binaria, cada byte debe ser 00000000. Por ejemplo, si el byte tiene el valor binario de 11111111, deberá añadir 3 bytes que consisten en ocho ceros al final de que los datos y obtener esta palabra de 4 bytes en binario:

11111111 00000000 00000000 00000000

4 Mueva la palabra de 4 bytes a la dirección deseada utilizando el lenguaje de programación de su elección. Por ejemplo, en lenguaje ensamblador x86, puede mover los datos a la dirección de "ADDR" escribiendo la declaración indicada a continuación. Tenga en cuenta que los espacios entre bytes se han eliminado y las letras "xB" se ha añadido a los datos. Esto le indica al ensamblador que es un número binario.

movl ADDR, 11111111000000000000000000000000xB

ETIQUETA: