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
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.