P. 1
Registros

Registros

|Views: 23|Likes:
Publicado porCheider Velasquez R

More info:

Published by: Cheider Velasquez R on Sep 25, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

10/01/2010

pdf

text

original

Registros

Registros de propósito general

AH
BHALAX (Acumulador) CH DH Registros índices BL CL DL BX (Base) CX (Contador) DX (Datos)

SI Source Index (Índice origen)DI Destination Index (Índice Destino) BP Base Pointer (Puntero Base) SP Stack Pointer (Puntero de Pila) Registro de Bandera -ODITSZ-A-P-CFlags (Banderas)R e gi st r o s d e S e g m e n t o sCS Code Segment (Segmento de Código)DS ES SS Registro apuntador de instrucciones Instruction Pointer Data Segment (Segmento de Datos) ExtraSegment (Segmento Extra) Stack Segment (Segmento de Pila)

IP

Algunas operaciones de entrada/salida requieren su pulso. . es utilizado para operaciones que implican entrada/salida y la mayor parte de la aritmética. Los registros de datos se usan a veces de forma implícita por las instrucciones. que también pueden ser accedidos como ocho registros de 8 bits. Los registros son direccionables por medio de un nombre. EX y DX son los caballos de fuerza del sistema. También es común emplear el BX para cálculos. y es el único registro de propósito general que puede ser un índice para direccionamiento indexado. y se emplean para controlar instrucciones en ejecución. optimizando así el código. y tienen cuatro registros índice de 16 bits (incluyendo el puntero de pila). se dedican a almacenar posiciones de memoria ya que el acceso a los registros es mucho mas rápido que los accesos a memoria. [editar] Registros de Propósito General Los registros de propósito general AX. ya que algunas instrucciones del procesador 8086 se utilizan solamente para un registro específico. manejar direccionamiento de memoria y proporcionar capacidad aritmética. Registro DX: El registro DX es el registro de datos. CX. Tanto el i8086 como el i8088 tienen cuatro registros generales de 16 bits. El conjunto de registros también es similar al del i8080. y de hecho son compatibles a nivel de ensamblador con el i8080.Modelo de los registros Los registros del i8086 e i8088 se basaron en el diseño del Intel 8080 y el Intel 8085. Son únicos en el sentido de que se les puede direccionar como una palabra o como un byte. Dado que estos registros se pueden utilizar "como deseamos" (dentro de la tipologia de los datos). Registro AX: El registro AX es el registro acumulador. existe una definición para cada uno de ellos según la función que desarrollen y es recomendable utilizar-los adecuadamente según esa definición . BX. haciendo más difícil la organización de los registros para emplearlos con valores temporales. Puede contener un valor para controlar el número de veces que un ciclo se repite o un valor para corrimiento de bits. Registro CX: El registro CX es conocido como el registro contador. pero ampliados a 16 bits. Registro BX: El registro BX es el registro base. Los registros del procesador. [editar] Registros Índice Los registros SI y DI disponibles para direccionamiento indexado y para sumas y restas. y las operaciones de multiplicación y división con cifras grandes suponen al DX y AX trabajando juntos.

Registro BP: El apuntador base de 16 bits facilita la referencia de parámetros.. El SI está asociado con el registro DS.PF . de los cuales nueve sirven para indicar el estado actual de la máquina y el resultado del procesamiento.Registro SI: El registro índice fuente de 16 bits es requerido por algunas operaciones con cadenas de caracteres.OF DF IF TF SF ZF . [editar] Registros de Banderas Es un registro de 16 bits.. Veamos como se reparten y que bits son los que sirven para indicar el estado actual de la máquina tal y como hemos comentado anteriormente: Debemos tener en cuenta que esta tabla contiene 16 posiciones (de 0 a 15). Muchas instrucciones aritméticas y de comparación cambian el estado de las banderas y apoyándose de ellas determinan la acción subsecuente.AF . los cuales son datos y direcciones transmitidos vía la pila.CF Los bits de las banderas son las siguientes: . El sistema maneja de manera automática este registro. El DI está asociado con el registro ES. la posición 0 la encontraremos a la derecha y la posición 15 a la izquierda. Registro DI: El registro índice destino también es requerido por algunas operaciones con cadenas de caracteres. .. Registro SP: El apuntador de pila de 16 bits está asociado con el registro SS y proporciona un valor de desplazamiento que se refiere a la palabra actual que está siendo procesada en la pila. es decir. que son los 16 bits del registro de banderas y que por convenio los bits de un registro se ordenan de derecha a izquierda. [editar] Registros Apuntadores Los registros SP (apuntador de pila) y BP (apuntador base) están asociados con el registro SS y permiten al sistema acceder a datos en el segmento de la pila.

CF (acarreo): Contiene el acarreo de los bits de mayor orden después de una operación aritmética. Registro CS: El DOS almacena la dirección inicial del segmento de código de un programa en el registro CS. Para operaciones sin signo. 1=negativo). no se necesita referenciar el registro CS. también almacena el contenido del último bit en una operación de corrimiento o de rotación. 1=resultado igual a cero).OF (overflow. Registro DS: La dirección inicial de un segmento de datos de programa es almacenada en el registro DS. AF (acarreo auxiliar): Contiene un acarreo externo del bit 3 en un dato de 8 bits. genera una referencia a la localidad de un byte específico en el segmento de datos. más un valor de desplazamiento en el registro apuntador de instrucción (IP). 0=deshabilita la interrupción). ZF (cero): Indica el resultado de una operación aritmética o de comparación (0=resultado diferente de cero. PF (paridad): Indica paridad par o impar en una operación de datos de ocho bits (0=paridad impar. desbordamiento): Indica desbordamiento del bit de mayor orden después de una operación aritmética de números con signo (1=existe overflow. La bandera DF se controla con las instrucciones STD y CLD. El estado de la bandera IF se controla con las instrucciones STI y CLI. Esta dirección. indica la dirección de una instrucción que es buscada para su ejecución. IF (interrupción): Indica que una interrupción externa sea procesada o ignorada (1=habilita la interrupción. No es posible acceder a una posición de memoria no definida por algún segmento: si es preciso. Esta bandera se prueba con las instrucciones DAA y DAS para ajustar el valor de AL después de una suma o resta BCD. . [editar] Registros de Segmento Definen áreas de 64 Kb dentro del espacio de direcciones de 1 Mb del 8086. 1=paridad par). 0=incremento). Esta dirección de segmento. más un valor de desplazamiento en una instrucción. TF (trampa): Permite la operación del procesador en modo de depuración (paso a paso) SF (signo): Contiene el signo resultante de una operación aritmética (0=positivo. Estas áreas pueden solaparse total o parcialmente. DF (dirección): Controla la selección de incremento o decremento de los registros SI o DI en las operaciones con cadenas de caracteres (1=decremento automático. no se toma en cuenta esta bandera. Para propósitos de programación normal. 0=no existe overflow). para aritmética especializada. habrá de moverse alguno.

ES y SS). por lo que un operando debe ser forzosamente un registro. El DOS almacena la dirección de inicio del segmento de pila de un programa en el registro SS. Por el contrario. Registro ES: Algunas operaciones con cadenas de caracteres utilizan el registro extra de segmento para manejar el direccionamiento de memoria. Los i8086 e i8088 presentan cuatro registros de segmento (CS. Debido a que estos procesadores pueden direccionar hasta 1 MB de memoria. Un programa que requiere el uso del registro ES puede inicializarlo con una dirección de segmento fgdf]] de 64 Kbytes e interrupciones vectorizadas fijas. Esto suele ser considerado como un mal diseño. El resultado se almacena en uno de los operandos. para lo que son necesarios 20 bits. DS. Esta dirección de segmento. La mayoría de las instrucciones solo pueden acceder a una posición de memoria. ya que sus registros son de 16 bits. provoca confusión cuando se hace un uso extensivo de los punteros (como en el lenguaje C).Registro SS: El registro SS permite la colocación en memoria de una pila. El registro ES está asociado con el registro DI (Índice). indica la palabra actual en la pila que está siendo direccionada. aunque puede ser aceptable. para almacenamiento temporal de direcciones y datos. que se pueden establecer a partir de los registros índice. e incluso útil en el lenguaje ensamblador. esto se cambió en el Intel 80286. y de hecho. el i8086 y el i8088 desplazan un registro de segmento 4 bits hacia la izquierda y lo suman a la dirección de memoria. [editar] Patillaje . este esquema de registros solapados hace difícil expandir el mapa de memoria a más de 1 MB. En lugar de suministrar los bits faltantes. más un valor de desplazamiento en el registro del apuntador de la pila (SP). Para propósitos de programación normal. no se necesita referenciar el registro SS. siendo el resultado la dirección efectiva. debido a que es posible que dos punteros con diferentes valores apunten a la misma dirección de memoria. Peor aún. es necesario emplear registros de segmento para acceder a toda la memoria. como la mayoría de los procesadores segmentados.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->