Beruflich Dokumente
Kultur Dokumente
Nótese que todos los elementos comparten el mismo identificador (A en este caso) mientras que el
subíndice identifica a cada elemento individual.
Al número de elementos de un vector se le denomina rango del vector.
Los vectores se almacenan en la memoria central del computador en un orden adyacente de posiciones
de memoria sucesivas. Cada elemento de un vector se puede procesar como si fuera una variable
simple que ocupa una posición de memoria dada, de manera tal que cada elemento del vector es
accesible directamente.
Por ejemplo: el vector X[6] está compuesto por seis elementos. Su identificador (nombre del vector) es
X y cada elemento se individualiza por su subíndice.
30 33 28 30 31 29
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
4321
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 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.