Monografias.com > Computación > General
Descargar Imprimir Comentar Ver trabajos relacionados

REGISTROS




Enviado por borjaoscar



    Indice
    1.
    Concepto general

    2. Registros de
    segmento.


    4. Registros de
    propósitos generales.

    5. Registro
    índice.

    1. Concepto
    general
    Los registros del
    procesador se
    emplean para controlar instrucciones en ejecución, manejar
    direccionamiento de memoria y
    proporcionar capacidad aritmética. Los registros son
    espacios físicos dentro del microprocesador
    con capacidad de 4 bits hasta 64 bits dependiendo del microprocesador
    que se emplee. Los registros son direccionables por medio de una
    viñeta, que es una dirección de memoria. Los
    bits, por conveniencia, se numeran de derecha a izquierda
    (15,14,13…. 3,2,1,0), los registros están divididos
    en seis grupos los cuales
    tienen un fin especifico. Los registros se dividen en:

    • Registros de segmento
    • Registros de apuntadores de instrucciones
    • Registros apuntadores
    • Registros de propósitos generales
    • Registro índice
    • Registro de bandera.

    2. Registros de
    segmento.

    Un registro de
    segmento se utiliza para alinear en un limite de párrafo
    o dicho de otra forma codifica la dirección de inicio de cada segmento y su
    dirección en un registro de
    segmento supone cuatro bits 0 a su derecha.
    Un registro de segmento tiene 16 bits de longitud y facilita un
    área de memoria para direccionamientos conocidos como el
    segmento actual. Los registros de segmento son:

    • Registro CS
    • Registro DS
    • Registro SS
    • Registro ES
    • Registro FS y GS

    Registro CS.
    El DOS almacena la dirección inicial del segmento de
    código
    de un programa en el
    registro CS. Esta dirección de segmento, mas un valor de
    desplazamiento en el registro de apuntado de instrucción
    (IP), indica la
    dirección de una instrucción que es buscada para
    sí ejecución. Para propósito de programación normal, no e necesita
    referenciar el registro CS.

    Registro DS.
    La dirección inicial de un segmento de datos de programa es
    almacenada en el registro DS. En términos sencillos, esta
    dirección, mas un valor de
    desplazamiento en una instrucción, genera una referencia a
    la localidad de un bytes especifico en el segmento de datos.

    Registro SS.
    El registro SS permite la colocación en memoria de una
    pila, para almacenamiento
    temporal de direcciones y datos. El DOS almacena la
    dirección de inicio del segmento de pila de un programa en
    el registro SS. Esta dirección de segmento, más un
    valor de desplazamiento en el registro del apuntador de la pila
    (SP), indica la palabra actual en la pila que está siendo
    direccionada. Para propósitos de programación normal, no se necesita
    referenciar el registro SS.

    Registro ES
    Algunas operaciones con
    cadenas de caracteres (datos de caracteres) utilizan el registro
    esta de segmento para manejar el direccionamiento de memoria. En
    este contexto, el registro ES esta asociado con el registro DI
    (índice) . un programa que requiere el uso del registro ES
    puede inicializarlo con una dirección
    apropiada.

    Registros FS y GS.
    Son registros extra de segmento en los procesadores
    80386y posteriores a estos procesadores.

    3. Registro Apuntador de instrucciones.(IP)
    El registro apuntador de
    instrucciones (IP) de 16 bits contiene el desplazamiento de
    dirección de la siguiente instrucción que se
    ejecuta.
    El registro IP esta asociado con el registro CS en el sentido de
    que el IP indica la instrucción actual dentro del segmento
    de código
    que se esta ejecutando actualmente.
    En el ejemplo siguiente, el registro CS contiene 25A4[0]H y el IP
    contiene 412H. Para encontrar la siguiente instrucción que
    será ejecutada el procesados combina las direcciones en el
    CS y el IP así:
    Segmento de dirección en el registro CS: 25A40H
    Desplazamiento de dirección en el registro IP: +
    412H
    Dirección de la siguiente
    instrucción: 25E52H

    Registros apuntadores.
    Los registros apuntadores están asociados con el registro
    SS y permiten al procesador
    accesar datos en el segmento de pila los registros apuntadores
    son dos:

    • El registro SP
    • El registro BP

    Registro SP.
    El apuntador de pila IP de 16 bits esta asociado con el registro
    SS y proporciona un valor de desplazamiento que se refiere a la
    palabra actual que esta siendo procesada en la pila.
    El ejemplo siguiente el registro SS contiene la dirección
    de segmento 27B3[0]H y el SP el desplazamiento 312H Para
    encontrar la palabra actual que esta siendo procesada en la pila
    el microprocesador combina las direcciones en el SS y el PP:
    Dirección de segmento en el registro SS: 27B30H
    Desplazamiento en el registro SP: +
    312H
    Dirección en la Pila: 27E42H

    …….

    27B3[0]H 312H
    Dirección del segmento SS Desplazamiento del
    SP

    Registro BP.
    El registro BP de 16 bits facilita la referencia de
    parámetros, los cuales son datos y direcciones
    transmitidos vía lapida.

    4. Registros de
    propósitos generales.

    Los registros de
    propósitos generales AX, BX, CX y DX son los caballos de
    batalla o las herramientas
    del sistema. Son los
    únicos en el sentido de que se puede direccionarlos como
    una palabra o como una parte de un byte. El ultimo byte de la
    izquierda es la parte "alta", y el ultimo byte de la derecha es
    la parte "baja" por ejemplo, el registro CX consta de una parte
    CH (alta) y una parte CL (baja), y usted puede referirse a
    cualquier parte por si nombre. Ñas instrucciones
    siguientes mueven ceros a los registros CX, CH y CL
    respectivamente.
    Mov CX, 00
    Mov CH, 00
    Mov CL, 00
    Los procesadores 80386 y posteriores permiten el uso de todos
    registros de propósito general, mas versiones de 32 bits;
    EAX, EBX y EDCX.

    Registros AX.
    El registro AX, el acumulador principal, es utilizado para
    operaciones
    que implican entrada/salida y la mayor parte de la
    aritmética. Por ejemplo, las instrucciones para
    multiplicar, dividir y traducir suponen el uso del AX.
    También, algunas operaciones generan código
    más eficientes si se refiere al AX en lugar de los otros
    registros.

    Registro BX.
    El BX es conocido como el registro base ya que es el único
    registro de propósitos generales que pueden ser unos
    índices para direccionamiento indexado. También es
    común emplear al BX para cálculos.

    Registro CX.
    El CX es conocido como el registro contador. Puede contener un
    valor para controlar el número de veces que un ciclo se
    repite o un valor para corrimiento de bits, hacia la derecha o
    hacia la izquierda. El CX también es usado para muchos
    cálculos.

    Registro DX.
    El DX es conocido como el registro de datos. Algunas operaciones
    de entrada/salida requieren su uso, y las operaciones de
    multiplicación y división con cifras grandes
    suponen al DX y al AX trabajando juntos. Puede usar los registros
    de propósitos para suma y resta de cifras de 8, 16, 32
    bits.

    5. Registro
    índice.
    Los registros SI y DI están
    disponibles para direccionamientos indexados y para sumas y
    restas. Que son la operaciones de punta.

    Registro SI.
    El registro índice de 16 bits es requerido por algunas
    operaciones con cadenas (de caracteres). En este contexto, el SI
    está asociado con el registro DS. Los procesadores 80386 y
    posteriores permiten el uso de un registro ampliado a 32 bits, el
    ESI.

    Registro DI.
    El registro índice destino también es requerido por
    algunas operaciones con cadenas de caracteres. En este contexto,
    el Di está asociado con el registro ES. Los procesadores
    80386 y posteriores permiten el uso de un registro ampliado a 32
    bits, el EDI.

    Registro de bandera.
    Los registros de banderas sirven parar indicar el estado
    actual de la maquina y el resultado del procesamiento, Cuando
    algunas instrucciones piden comparaciones o cálculos
    aritméticos cambian el estado de las
    banderas.
    Las banderas están en el registro de banderas en las
    siguientes posiciones:
    bits 15 14 13 12 11 10 9 8 7 6 5
    4 3 2 1

    O

    D

    I

    T

    S

    Z

    A

    P

    C

    Bandera
    Las banderas mas comunes son las siguientes:
    OF (Over flow flag, desbordamiento).
    Indica el desbordamiento de un bit de orden alto (mas a la
    izquierda) después de una operación
    aritmética.
    DF (Direction flag, Direccion).
    Designa la dirección hacia la izquierda o hacia la derecha
    para mover o comparar cadenas de caracteres.
    IF (Interruption flag, Interrupcion).
    Indica que una interrupción externa, como la entrada desde
    el teclado sea
    procesada o ignorada.
    TF (Trap flag, Trampa).
    Examina el efecto de una instrucción sobre los registros y
    la memoria.
    Los programas
    depuradores como DEBUG, activan esta bandera de manera que pueda
    avanzar en la ejecución de una sola interrupción a
    un tiempo.
    SF (Sign flag, Signo).
    Contiene el signo resultante de una operación
    aritmética (0=positivo y 1= negativo).
    ZF (Zero flag, Zero).
    Indica el resultado de una operación aritmética o
    de comparación (0= resultado diferente de cero y
    1=resultado igual a cero).
    AF (Auxiliary carry flag, Acarreo auxiliar).
    Contiene un acarreo externo del bit 3 en un dato de 8 bits, para
    aritmética especializada
    PF (Parity flag, Paridad).
    Indica paridad par o impar de una operación en datos de
    ocho bits de bajo orden (mas a la derecha).
    CF (Carry flag, Acarreo).
    Contiene el acarreo de orden mas alto (mas a la izquierda)
    después de una operación aritmética;
    también lleva el contenido del ultimo bit en una
    operación de corrimiento o rotación.

    Cuadro Comparativo

    TIPOS DE REGISTROS

    FUNCION

    Registros de Segmento

    Un registro de segmento tiene 16 bits de
    longitud y facilita un área de memoria para el
    direccionamiento conocida como el segmento
    actual

    Registros de Apuntador de
    Instrucciones

    Este registro esta compuesto por 16 bits y
    contiene el desplazamiento de la siguiente
    instrucción que se va a ejecutar. Los procesadores
    80386 y posteriores tiene un IP ampliado de 32 bits
    llamado EIP.

    Registros Apuntadores

    Permiten al sistema accesar datos al segmento de la
    pila. Los procesadores 80386 tiene un apuntador de pila
    de 32 bits llamado ESP. El sistema maneja de manera
    automática estos registros.

    Registros de Propósito General

    Son los caballos de batalla del sistema y pueden
    ser direccionados como una palabra o como una parte de un
    bytes. Los procesadores 80386 y posteriores permiten el
    uso de todos los registros de propósitos general
    mas sus versiones ampliadas de 32 bits llamados EAX,
    EBX,ECX y EDX.

    Registros Indices

    Sirven para el direccionamiento de indexado y
    para las operaciones de sumas y restas.

    Registros de Banderas

    Sirven para indicar el
    estado actual de la maquina y el resultado del
    procesamiento. De los 16 bits de registro de bandera 9
    son comunes a toda la
    familia de los procesadores 8086.

    Ejemplo De Representacion De Los Registros
    Después de haber conceptualizado e interpretado los
    diferente tipos de registro nos vemos en la necesidad de dar un
    ejemplo no muy practico pero si muy significativo en el cual se
    representan la forma estructurada de un programa en el lenguaje
    ensamblador y como se utilizan los diferentes termino que
    hemos investigado vemos que en el programa o en una
    pequeña porción de él se muestran como se
    colocan dentro los diferentes tipos registros.

     TITLE P17HANRD(EXE) Lectura
    secuencial de registros.
    .MODEL SMALL
    .STACK 64
    /——————————————————————————————

    ,DATA
    ENDCDE DB 00 ; FIN DEL INDICARDOR DE PROCESO.
    HANDLE DW ?
    IOAREA DB 32 DUP(´ ´)
    OPENMSG DB ´*** Open error ***´ 0DH, 0AH
    PATHNAM DB ´D:NAMEFILE.SRT´, 0
    READMSD DB ´*** Read error ***´ 0DH, 0AH
    ROW DB 00
    /———————————————————————————————

    .CODE
    BEGIN PROC FAR
    MOV AX,@data ; inicializa
    MOV DS,AX ; registro de
    MOV ES,AX ; segmento
    MOV AX,0600H

     

     

    Autor:

    Oscar borja

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter