Cómo calcular una dirección de memoria

Una dirección de memoria de computadora es una dirección hexadecimal o binaria que una computadora usa cuando almacena datos. Cada vez que se almacena una parte de la información, la computadora tiene que calcular dónde almacenar los datos en la memoria en función de un segmento y una dirección de compensación del disco duro. Calcular la dirección de memoria a partir de estas direcciones de segmento y desplazamiento puede ser complicado y requiere conocimientos matemáticos y de computación avanzados, pero es fundamental que un programador sepa cómo hacerlo.

Paso 1

Tome su segmento de 16 bits y las direcciones de compensación y divídalas en pares. Por ejemplo, si las dos direcciones con las que está tratando son "0000:0100", puede convertirlas en un segmento de 20 bits y direcciones compensadas dividiéndolas por la mitad en los dos puntos para que se conviertan en "0000" para el segmento de 20 bits. dirección y "0100" para la dirección de compensación de 20 bits.

Paso 2

Sume las dos direcciones de 20 bits juntas en forma binaria para obtener la dirección hexadecimal de la memoria. Para las direcciones "0000" y "0100", el resultado de la suma sería "00100" en hexadecimal. Esta dirección es la dirección hexadecimal física de la memoria.

Paso 3

Convierta la dirección física hexadecimal de 20 bits en formato binario dividiendo cada uno de los dígitos hexadecimales en su propia forma binaria. En el ejemplo "00100", los divide en "0000", "0000", "0001", "0000" y "0000" para obtener la cadena "0000 0000 0001 0000 0000" como dirección de memoria binaria final.