Vous êtes sur la page 1sur 4

REGISTROS DE SEGMENTOS Unos registros adicionales, a los que se le da el nombre de registro de segmentos, generan direcciones en la memoria juntos con

otros registros en el microprocesador. Hay 4 o 6 registros de segmentos en las diversas versiones de microprocesadores 8086 80486. Un registro de segmento funciona de una manera diferente en el modo real, por comparacin con el funcionamiento del microprocesador en modo protegido. Lista de cada registro de segmento junto con su funcin en el sistema: CS (cdigo: El segmento de cdigo es una seccin de la memoria que tiene los programas y procedimientos utilizados por los programas. El registro de segmento de cdigo define la direccin inicial de la seccin de memoria que tiene el cdigo. En el funcionamiento en modo real, define el inicio de una seccin de memoria de 64k bytes y en el modo protegido selecciona un descriptor que describe la direccin inicial y la longitud de la seccin de memoria que tiene el cdigo. El segmento de cdigo es limitado a 64k bytes de longitud en el 8086 80286 y a 4G bytes en el 80386/80486. DS (datos): El segmento de datos es una seccin de la memoria que contiene la mayor parte de los datos utilizados por un programa. Se les accesa en el segmento de datos con un desplazamiento o con el contenido de otros registros que tienen la direccin del desplazamiento. ES (extra o adicional): El segmento extra o adicional de datos lo utilizan algunas instrucciones para cadenas. SS (pila): El segmento de la pila define la superficie de la memoria utilizada para la pila. La ubicacin del punto inicial de entrada a la pila, se determina por el registro apuntador de la pila. El registro BP (Apuntador de base) tambin direcciona los datos que hay dentro del segmento de pila. FS y CS: Estos registros de segmentos adicionales estn disponibles en los microprocesadores 80386 y 80486.

REGISTRO DE SEGMENTO Y DESPLAZAMIENTO PREDETERMINADO El microprocesador tiene un grupo de reglas que se aplican siempre que se direcciona a la memoria. Estas reglas, que se aplican en el modo real o en el protegido, definen la combinacin de registro de segmento y de desplazamiento, que se utilizan en ciertos modos de direccionamiento. Por ejemplo, el registro de segmento de cdigo se emplea siempre con el apuntador de instrucciones para direccionar la siguiente instruccin a ejecutar en un programa. Esta combinacin es CS:IP o CS:EIP, segn sean el microprocesador y el modo de

funcionamiento. El registro de segmento de cdigo define el principio de un segmento de cdigo y el apuntador de instrucciones apunta a la siguiente instruccin dentro del segmento de cdigo a ejecutar por el microprocesador. Por ejemplo, si CS= 1400H IP/EIP = 1200H, el microprocesador busca y lee la siguiente instruccin en la localidad 14000H + 1200H o sea 15200H en la memoria. Otro direccionamiento implcito es el de la pila. Se hace referencia a los datos de la pila por medio del segmento de pila y por localidad de la memoria a la cual direcciona el apuntador de la pila (SP/ESP) o el apuntador de base. Esta combinaciones se refieren como SS:SP (SS:ESP) o SS:BP (SS:EBP). Por ejemplo, si SS= 2000H y BP/EBP= 3000H, el microprocesador direcciona a la localidad 23000H en la memoria del segmento de la pila direccionada por el registro BP/EBP. Se debe tener en cuenta que en el modo real, solo los 16 bits en la extrema derecha del registro extendido direccionan a una localidad dentro del segmento de memoria. Nunca ponga un nmero mayor que FFFFH en un registro de desplazamiento si el microprocesador funciona en el modo real. Si en el modo real se direcciona a una memoria mayor que 100000H ocasionar que el microprocesador interrumpa el programa e indique un error.

Direccionamiento implcitos para la memoria para microprocesadores 8086 - 80286. Segmento CS SS DS ES Desplazamiento IP SP o BP BX, DI, SI o un numero de 16 bits DI para instrucciones para cadenas

Direccionamiento implcitos para la memoria para microprocesadores 80386 - 80486. Segmento CS SS DS ES FS GS Desplazamiento EIP ESP o EBP EAX, EBX, ECX, EDX, EDI, ESI, un numero de 8 bits o de 32 bits DI para instrucciones para cadenas No implcito No implcito

Los 8086 - 80286 permiten tener 4 segmentos de memoria; el 80386 y 80486 permiten 6 segmentos de memoria.

DIRECCIONAMIENTO DE LA MEMORIA EN MODO REAL Los microprocesadores 80286 - 80486 funcionan en el modo real o en el modo protegido. Los 8086, 8088 y 80186 solo funcionan en el modo real. El funcionamiento en el modo real permite que el microprocesador solo direccione al primer 1M bytes de espacio en la memoria, aunque sea un microprocesador 80486. En los sistemas de funcionamiento MSDOS o PCDOS se supone que el microprocesador funciona en el modo real en todo momento. El funcionamiento en el modo real permite que el software de aplicacin escrito para el 8086 u 8088 que slo contienen 1M bytes de memoria, funcionen en los microprocesadores 80286, 80386 y 80486. En todos los casos, cada uno de los microprocesadores empieza a funcionar en modo real en forma implcita (default), siempre que se le aplica la corriente o se restablece el microprocesador. Todas las direcciones en la memoria en modo real consisten de un segmento y un desplazamiento. El segmento ubicado en uno de los registros de segmento, define la direccin inicial de cualquier segmento de memoria de 64K bytes. La direccin de desplazamiento selecciona una localidad dentro del segmento de memoria de 64K bytes. DIRECCIONAMIENTO DE LA MEMORIA EN MODO PROTEGIDO El direccionamiento de la memoria en modo protegido (solo 80286, 8038 y 80486) permite acceso a los datos y programas ubicados arriba del primer Mbytes de memoria. El direccionamiento de esta seccin extendida del sistema de memoria (la memoria encima del prime Mbytes de memoria se denomina memoria extendida o XMS), requiere un cambio en el sistema de direccionamiento de segmento y desplazamiento, utilizando con el direccionamiento de la memoria en modo real. Cuando se direcciona a los datos y programa en la memoria ampliada, todava se utilizan la direccin de desplazamiento para accesar la informacin ubicada dentro del segmento. La direccin del segmento, que se describi en relacin con el direccionamiento de la memoria en modo real, ya no est presente en el modo protegido. En lugar de la direccin de segmento, el registro del segmento contiene un selector que selecciona un descriptor; este describe la ubicacin, longitud, y derechos de acceso al segmento de memoria. Debido a que el registro de segmento y la direccin de desplazamiento todava accesan a la memoria, las instrucciones en el modo protegido se ven iguales que en el modo real. La diferencia entre los modos est en la forma en que el registro de segmento accesa el segmento de memoria. MODOS DE DIRECCIONAMIENTOS DE DATOS Direccionamiento por registro: Transfiere un bytes o palabra desde el registro fuente o localidad en la memoria, hasta el registro o localidad destino en la memoria. Ejemplo: la instruccin MOV CX,DX copia el contenido del registro DX y lo pasa al registro CX. Direccionamiento inmediato: Transfiere un bytes o palabra de datos inmediatos hacia el registro o localidad en la memoria en el destino. Ejemplo: la instruccin MOV AL,22H copia el 22H al registro AL.

Direccionamiento directo: Mueve un bytes o palabra entre una localidad de la memora y un registro. Direccionamiento indirecto por registro: Transfiere un bytes o palabra entre un registro y una localidad de memoria direccionada por un registro ndice o base. Los registros in dice y base son BP, EX, DI Y SI. Ejemplo: la instruccin MOV AX,[BX] copia los datos de una direccin del segmento de datos con un desplazamiento dado por BX y lo pasa al registro AX. Direccionamiento base e ndice: Transfiere un bytes o palabra entre un registro y la localidad de memoria direccionada por un registro base (BP o BX) ms un registro ndice (DI o SI). Ejemplo: MOV [BX + DI], CL copia el contenido del registro CL y lo pasa a la localidad de memoria direccionada por BX ms DI en el segmento de dato. Direccionamiento relativo por registro: Transfiere un bytes o una palabra entre un registro y una localidad en la memoria direccionada por un registro ndice o un registro base y adems un desplazamiento. Ejemplo: MOV AX,[BX + 4] o MOV AX,ARREGO[BX]. La primera instruccin copia una palabra de dato de una direccin en el segmento de datos, formada por el contenido de BX ms 4, y la pone en el registro AX. La segunda instruccin transfiere el contenido de la localidad de memoria de una matriz ARREGLO ms el contenido de BX en el registro AX. Direccionamiento relativo base mas ndice: Transfiere un bytes o una palabra entre un registro y la localidad en la memoria direccionada por un registro base mas ndice ms un desplazamiento. Ejemplo: MOV AX,ARREGLO[BX + DI] o MOV AX,[BX + DI + 4]. Ambas instrucciones copian una palabra de datos de una localidad de memoria y la colocan en el registro AX. En la primera instruccin se emplea una direccin formada al sumar ARREGLO,BX y DI y la segunda al sumar BX, DI y 4. Direccionamiento de ndice escalado: Esta disponible en los microprocesadores 80386 y 80486. PAGINACION DE MEMORIA Es una tcnica de manejo de memoria, en la cual el espacio de memoria se divide en secciones fsicas de igual tamao, denominadas marcos de pgina. Los programas se dividen en unidades lgicas: Denominadas pginas; las paginas sirven como unidad de almacenamiento de informacin y transferencia entre la memoria principal y la memoria secundaria.