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

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

[editar] Registros de Banderas Es un registro de 16 bits. Registro BP: El apuntador base de 16 bits facilita la referencia de parámetros... 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). de los cuales nueve sirven para indicar el estado actual de la máquina y el resultado del procesamiento.CF Los bits de las banderas son las siguientes: . la posición 0 la encontraremos a la derecha y la posición 15 a la izquierda. El DI está asociado con el registro ES.PF . El SI está asociado con el registro DS. es decir. . El sistema maneja de manera automática este registro. que son los 16 bits del registro de banderas y que por convenio los bits de un registro se ordenan de derecha a izquierda. los cuales son datos y direcciones transmitidos vía la pila. Muchas instrucciones aritméticas y de comparación cambian el estado de las banderas y apoyándose de ellas determinan la acción subsecuente. Registro DI: El registro índice destino también es requerido por algunas operaciones con cadenas de caracteres.. [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. 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.AF .Registro SI: El registro índice fuente de 16 bits es requerido por algunas operaciones con cadenas de caracteres.OF DF IF TF SF ZF .

0=no existe overflow). Esta dirección. PF (paridad): Indica paridad par o impar en una operación de datos de ocho bits (0=paridad impar. [editar] Registros de Segmento Definen áreas de 64 Kb dentro del espacio de direcciones de 1 Mb del 8086. El estado de la bandera IF se controla con las instrucciones STI y CLI. Esta dirección de segmento.OF (overflow. La bandera DF se controla con las instrucciones STD y CLD. Registro DS: La dirección inicial de un segmento de datos de programa es almacenada en el registro DS. Para operaciones sin signo. Para propósitos de programación normal. habrá de moverse alguno. 1=resultado igual a cero). Esta bandera se prueba con las instrucciones DAA y DAS para ajustar el valor de AL después de una suma o resta BCD. 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. 1=paridad par). 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. desbordamiento): Indica desbordamiento del bit de mayor orden después de una operación aritmética de números con signo (1=existe overflow. también almacena el contenido del último bit en una operación de corrimiento o de rotación. 1=negativo). 0=deshabilita la interrupción). 0=incremento). Estas áreas pueden solaparse total o parcialmente. más un valor de desplazamiento en una instrucción. no se necesita referenciar el registro CS. más un valor de desplazamiento en el registro apuntador de instrucción (IP). . ZF (cero): Indica el resultado de una operación aritmética o de comparación (0=resultado diferente de cero. para aritmética especializada. genera una referencia a la localidad de un byte específico en el segmento de datos. 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. AF (acarreo auxiliar): Contiene un acarreo externo del bit 3 en un dato de 8 bits. no se toma en cuenta esta bandera. No es posible acceder a una posición de memoria no definida por algún segmento: si es preciso. 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.

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

Sign up to vote on this title
UsefulNot useful