|
Segmentos
La arquitectura de las fuerzas de los procesadores x86 al uso de los segmentos de la memoria de manejar la información, el tamaño de estos segmentos está de 64kb.
La razón de estar de estos segmentos es que, considerando que el tamaño máximo de un número que el procesador pueda manejar es dado por una palabra de 16 pedacitos o registro, él no sería posible tener acceso a más de 65536 lugares de la memoria usando solamente uno de estos registros, pero ahora, si la memoria se divide en grupos o los segmentos, cada uno de 65536 lugares, y nosotros utilizan una dirección en un registro exclusivo para encontrar cada segmento, y entonces hacemos cada dirección de una ranura específica con dos registros, y es posible que tengamos acceso a una cantidad de 4294967296 octetos de memoria.
Para que el ensamblador pueda manejar los datos, él sea necesario que cada pedazo de información o de instrucción esté encontrado en el área que corresponde a sus segmentos respectivos. El ensamblador tiene acceso a esta información que considera la localización del segmento, dada por el DS, el ES, los SS y los registros y el interior del CS el registro la dirección del pedazo de información especificado. Está debido a el que cuando creamos un programa usando el eliminar errores en cada línea que montemos, algo similar aparezca:
1CB0:0102 MOV AX,BX
Donde el primer número, 1CB0, corresponde al segmento de la memoria que es utilizado, segundo refiere a la dirección dentro de este segmento, y las instrucciones que serán almacenadas de esa dirección siguen.
El ensamblador ajusta el tamaño de los segmentos que toman como una base el número de octetos que cada instrucción montada necesita, puesto que sería una pérdida de memoria para utilizar los segmentos enteros. Por ejemplo, si un programa necesita solamente 10kb almacenar datos, el segmento de datos estará solamente de 10kb y no el 64kb que puede dirigir.
|
|