11.05.2013 Views

Arquitectura x86 y x64 dos opciones para aplicaciones multitarea

Arquitectura x86 y x64 dos opciones para aplicaciones multitarea

Arquitectura x86 y x64 dos opciones para aplicaciones multitarea

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

De esta forma se tiene que todas las<br />

instrucciones ensamblador pueden operar con<br />

datosde 8 y 16 bits dependiendo de lo que se<br />

precise. Cabe aclarar que esta división no<br />

esposible en los demás registros.<br />

Registros de Segmento:<br />

Son cuatro registros de 16 bits los cuales<br />

definen áreas de64Kbits dentro del espacio de<br />

direcciones de memoria. Estas áreas pueden<br />

solaparse total oparcialmente. No es posible<br />

acceder a una posición de memoria no definida<br />

por algúnsegmento: si es preciso, habrá de<br />

moverse alguno.<br />

CS (CodeSegment): Este registro es usado por<br />

el procesador, junto con el registro IP,<br />

<strong>para</strong>conocer la ubicación de la instrucción que<br />

esta siendo ejecutada.<br />

DS (Data Segment): Se usa <strong>para</strong> indicar dónde<br />

están to<strong>dos</strong> los datos del programa que seesta<br />

ejecutando.<br />

SS (StackSegment): En este registro se indica<br />

al procesador dónde esta la zona dememoria<br />

que se usa como segmento de pila, la cual se<br />

utilizara <strong>para</strong> el almacenamientotemporal de<br />

direcciones y datos.<br />

ES (Extra Segment): Es utilizado como<br />

apuntador de memoria auxiliar en<br />

operacionescomplejas donde se necesitan <strong>dos</strong><br />

punteros de datos simultáneos.<br />

Registros Apuntadores o Registros de Pila<br />

La pila es un área de memoria muy importante<br />

la cual cuenta con <strong>dos</strong> registros de 16 bitscada<br />

uno que se usan como desplazamiento <strong>para</strong><br />

apuntar su contenido. Estos son utiliza<strong>dos</strong>como<br />

complemento al registro SS.<br />

SP (Stack Pointer): Este registro proporciona un<br />

valor de desplazamiento que se refiere a<br />

lapalabra actual que esta siendo procesada en<br />

la pila.<br />

BP (Base Pointer): Se usa como registro<br />

auxiliar y facilita la referencia de parámetros,<br />

loscuales son datos y direcciones transmiti<strong>dos</strong> a<br />

través de la pila.<br />

Registros Índice<br />

Son utiliza<strong>dos</strong> como desplazamientos<br />

complementarios <strong>para</strong> DS y ES a la hora de<br />

indicar laposición donde se encuentran los<br />

datos a los que se desea acceder.<br />

SI (SourceIndex): Se usa co mo puntero origen<br />

en operaciones de desplazamiento de<br />

datosentre <strong>dos</strong> zonas de memoria.<br />

DI (DestinationIndex): Utilizado como puntero<br />

de destino en operaciones de<br />

desplazamientode datos entre zonas de<br />

memoria.<br />

Registro de Instrucción<br />

Solo hay uno, el registro IP (Instruction Pointer),<br />

el cual es utilizado por la CPU <strong>para</strong> conocerla<br />

posición relativa a la base CS donde se<br />

encuentra la instrucción que se esta<br />

ejecutandoen ese momento.Este puntero<br />

cambia automáticamente cada vez que se<br />

ejecuta una instrucción o se realizaun salto a<br />

otro punto del programa a causa de una<br />

instrucción de salto.<br />

Registro Bandera<br />

Este es un registro de 16 bits, de los cuales 9<br />

sirven <strong>para</strong> indicar el estado actual de<br />

lamaquina y el resultado del procesamiento.<br />

Muchas instrucciones aritméticas y<br />

decom<strong>para</strong>ción cambian el estado de las<br />

banderas y apoyán<strong>dos</strong>e de ellas determinan<br />

laacción subsecuente:<br />

Bit0-CF (CarryFlag): Contiene el acarreo de los<br />

bits de mayor orden después de unaoperación<br />

aritmética, también almacena el contenido del<br />

último bit en una operación decorrimiento o de<br />

rotación.<br />

Bit 1: No utilizado.<br />

Bit 2 –PF (ParityFlag): Se pone en 1 cuando<br />

existe paridad en una operación. Bit 3: No<br />

utilizado.<br />

Bit 4 –AF (Auxiliar Flag): Contiene un acarreo<br />

auxiliar del bit 3 en un dato de 8 bits,<br />

<strong>para</strong>aritmética especializada. Se pone en 1<br />

cuando existe la necesidad de realizar ajustes<br />

tras una operación de tipo BCD.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!