SlideShare una empresa de Scribd logo
1 de 9
INSTITUTO TECNOLOGICO SUPERIOR DE ZONGOLICA
CAMPUS ZONGOLICA
LOSREGISTROS
YADIRA JAZMIN PEREZ CASTILLO
ISC503
PR
OFESOR: ARTURO MARTIN MORALES RAYON
En arquitectura de ordenadores, un registro es una memoria de alta velocidad y
poca capacidad, integrada en el microprocesador, que permite guardar
transitoriamente y acceder a valores muy usados, generalmente en operaciones
matemáticas.
Los registros están en la cumbre de la jerarquía de memoria, y son la manera más
rápida que tiene el sistema de almacenar datos. Los registros se miden
generalmente por el número de bits que almacenan; por ejemplo, un "registro de 8
bits" o un "registro de 32 bits". Los registros generalmente se implementan en un
banco de registros, pero antiguamente se usaban biestables individuales, memoria
SRAM o formas aun más primitivas.
El término es usado generalmente para referirse al grupo de registros que pueden
ser directamente indexados como operandos de una instrucción, como está
definido en el conjunto de instrucciones. Sin embargo, los microprocesadores
tienen además muchos otros registros que son usados con un propósito
específico, como el contador de programa. Por ejemplo, en la arquitectura IA32, el
conjunto de instrucciones define 8 registros de 32 bits.
 Los registros de datos son usados para guardar números enteros. En
algunas computadoras antiguas, existía un único registro donde se guardaba
toda la información, llamado acumulador.
 Los registros de memoria son usados para guardar exclusivamente
direcciones de memoria. Eran muy usados en la arquitectura Harvard, ya que
muchas veces las direcciones tenían un tamaño de palabra distinto que los
datos.
 Los registros de propósito general (en inglés GPRs o General Purpose
Registers) pueden guardar tanto datos como direcciones. Son fundamentales
en la arquitectura de von Neumann. La mayor parte de las computadoras
modernas usa GPR.
 Los registros de coma flotante son usados para guardar datos en formato
de coma flotante.
 L
os r
egistros constantes tienen valores creados por hardware de sólo lectura. Por
ejemplo, en MIPS el registro cero siempre vale 0.
 Los registros de propósito específico guardan información específica del
estado del sistema, como el puntero de pila o el registro de estado.
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
Regi
stro
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
proc
esa
dor 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.
Regi
stro
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
oper
ació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
MO
V
ES,AX ; segmento
MOV AX,0600H

Más contenido relacionado

La actualidad más candente

aspectos_basicos_de_la_programacion_en_ensamblador
aspectos_basicos_de_la_programacion_en_ensambladoraspectos_basicos_de_la_programacion_en_ensamblador
aspectos_basicos_de_la_programacion_en_ensambladorGloria Azúa
 
Casos de estudio de cpu reales
Casos de estudio de cpu realesCasos de estudio de cpu reales
Casos de estudio de cpu realesKikivan Cortez
 
Modos de Direccionamiento del Procesador
Modos de Direccionamiento del ProcesadorModos de Direccionamiento del Procesador
Modos de Direccionamiento del ProcesadorCloud Rodriguez
 
ENSAMBLADOR PIC 8086
ENSAMBLADOR PIC  8086ENSAMBLADOR PIC  8086
ENSAMBLADOR PIC 8086Nazue Rap
 
Gestión de memoria en ensamblador
Gestión de memoria en ensambladorGestión de memoria en ensamblador
Gestión de memoria en ensambladorCarlos Solano
 
Clase 1.8 arquitectura del 8086
Clase 1.8 arquitectura del  8086Clase 1.8 arquitectura del  8086
Clase 1.8 arquitectura del 8086opalacios2016
 
El Procesador o CPU
El Procesador o CPUEl Procesador o CPU
El Procesador o CPUJorge Pulido
 
Modos de Direccionamiento del Procesador (IEEE)
Modos de Direccionamiento del Procesador (IEEE)Modos de Direccionamiento del Procesador (IEEE)
Modos de Direccionamiento del Procesador (IEEE)Cloud Rodriguez
 
Formatos de instrucción
Formatos de instrucciónFormatos de instrucción
Formatos de instrucciónSantiago Rozo
 
Comparativa Intel 8086 Motorola 68000
Comparativa Intel 8086   Motorola 68000Comparativa Intel 8086   Motorola 68000
Comparativa Intel 8086 Motorola 68000guest0f5365
 

La actualidad más candente (16)

Microprocesadores
MicroprocesadoresMicroprocesadores
Microprocesadores
 
Registros del cpu
Registros del cpuRegistros del cpu
Registros del cpu
 
aspectos_basicos_de_la_programacion_en_ensamblador
aspectos_basicos_de_la_programacion_en_ensambladoraspectos_basicos_de_la_programacion_en_ensamblador
aspectos_basicos_de_la_programacion_en_ensamblador
 
Casos de estudio de cpu reales
Casos de estudio de cpu realesCasos de estudio de cpu reales
Casos de estudio de cpu reales
 
Direccionamiento
DireccionamientoDireccionamiento
Direccionamiento
 
Modos de Direccionamiento del Procesador
Modos de Direccionamiento del ProcesadorModos de Direccionamiento del Procesador
Modos de Direccionamiento del Procesador
 
Definición de registro de procesador
Definición de registro de procesadorDefinición de registro de procesador
Definición de registro de procesador
 
ENSAMBLADOR PIC 8086
ENSAMBLADOR PIC  8086ENSAMBLADOR PIC  8086
ENSAMBLADOR PIC 8086
 
Gestión de memoria en ensamblador
Gestión de memoria en ensambladorGestión de memoria en ensamblador
Gestión de memoria en ensamblador
 
Tabla unidad2 los conselambiz
Tabla unidad2 los conselambizTabla unidad2 los conselambiz
Tabla unidad2 los conselambiz
 
Clase 1.8 arquitectura del 8086
Clase 1.8 arquitectura del  8086Clase 1.8 arquitectura del  8086
Clase 1.8 arquitectura del 8086
 
El Procesador o CPU
El Procesador o CPUEl Procesador o CPU
El Procesador o CPU
 
Modos de direccionamiento
Modos de direccionamientoModos de direccionamiento
Modos de direccionamiento
 
Modos de Direccionamiento del Procesador (IEEE)
Modos de Direccionamiento del Procesador (IEEE)Modos de Direccionamiento del Procesador (IEEE)
Modos de Direccionamiento del Procesador (IEEE)
 
Formatos de instrucción
Formatos de instrucciónFormatos de instrucción
Formatos de instrucción
 
Comparativa Intel 8086 Motorola 68000
Comparativa Intel 8086   Motorola 68000Comparativa Intel 8086   Motorola 68000
Comparativa Intel 8086 Motorola 68000
 

Destacado

Organizacion y arquitectura del computador (UNL marzo - julio 2013)
Organizacion y arquitectura del computador (UNL marzo - julio 2013)Organizacion y arquitectura del computador (UNL marzo - julio 2013)
Organizacion y arquitectura del computador (UNL marzo - julio 2013)Freddy Patricio Ajila Zaquinaula
 
Conceptos informatica
Conceptos informaticaConceptos informatica
Conceptos informaticaFelipe Rojas
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPUIvan Porras
 
Arquitectura Del Computador
Arquitectura Del ComputadorArquitectura Del Computador
Arquitectura Del Computadorivan
 
Organización y arquitectura de computadores
Organización y arquitectura de computadoresOrganización y arquitectura de computadores
Organización y arquitectura de computadoresSofylutqm
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsLinkedIn
 

Destacado (8)

Vonnewman
VonnewmanVonnewman
Vonnewman
 
Organizacion y arquitectura del computador (UNL marzo - julio 2013)
Organizacion y arquitectura del computador (UNL marzo - julio 2013)Organizacion y arquitectura del computador (UNL marzo - julio 2013)
Organizacion y arquitectura del computador (UNL marzo - julio 2013)
 
Conceptos informatica
Conceptos informaticaConceptos informatica
Conceptos informatica
 
Registros de control y estados de la CPU
Registros de control y estados de la CPURegistros de control y estados de la CPU
Registros de control y estados de la CPU
 
Arquitectura Del Computador
Arquitectura Del ComputadorArquitectura Del Computador
Arquitectura Del Computador
 
Organización y arquitectura de computadores
Organización y arquitectura de computadoresOrganización y arquitectura de computadores
Organización y arquitectura de computadores
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 

Similar a Registros en arquitectura de ordenadores

El Microprocesador Y Su Arquitectura
El Microprocesador Y Su ArquitecturaEl Microprocesador Y Su Arquitectura
El Microprocesador Y Su Arquitecturajadenjgct
 
Registros del cpu!
Registros del cpu!Registros del cpu!
Registros del cpu!romo91
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfazXavi Flores
 
Unidadi. lenguajes de interfaz
Unidadi.   lenguajes de interfazUnidadi.   lenguajes de interfaz
Unidadi. lenguajes de interfazLuiS YmAY
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basicoGustavo Davila
 
Modos.de.direccionamiento.del.8086
Modos.de.direccionamiento.del.8086Modos.de.direccionamiento.del.8086
Modos.de.direccionamiento.del.8086José Pedro Avila
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalledsolana
 
Registros Basicos del CPU.pptx
Registros Basicos del CPU.pptxRegistros Basicos del CPU.pptx
Registros Basicos del CPU.pptxEdwin Jaramillo
 
Manual de ensamblador en español
Manual de ensamblador en españolManual de ensamblador en español
Manual de ensamblador en españolKenyi Soller
 
Registros de la cpu
Registros de la cpuRegistros de la cpu
Registros de la cpujomapuga
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detallePTA Records
 

Similar a Registros en arquitectura de ordenadores (20)

El Microprocesador Y Su Arquitectura
El Microprocesador Y Su ArquitecturaEl Microprocesador Y Su Arquitectura
El Microprocesador Y Su Arquitectura
 
Unidad I.pdf
Unidad I.pdfUnidad I.pdf
Unidad I.pdf
 
asm_mododir2.pdf
asm_mododir2.pdfasm_mododir2.pdf
asm_mododir2.pdf
 
Asm mododir2
Asm mododir2Asm mododir2
Asm mododir2
 
Registros del cpu!
Registros del cpu!Registros del cpu!
Registros del cpu!
 
Tutorial ensamblador
Tutorial ensambladorTutorial ensamblador
Tutorial ensamblador
 
Lenguajes de interfaz
Lenguajes de interfazLenguajes de interfaz
Lenguajes de interfaz
 
Unidadi. lenguajes de interfaz
Unidadi.   lenguajes de interfazUnidadi.   lenguajes de interfaz
Unidadi. lenguajes de interfaz
 
Lenguaje ensamblador basico
Lenguaje ensamblador basicoLenguaje ensamblador basico
Lenguaje ensamblador basico
 
Arquitectura x86_ Registros
Arquitectura x86_ RegistrosArquitectura x86_ Registros
Arquitectura x86_ Registros
 
Manual80x86
Manual80x86Manual80x86
Manual80x86
 
Modos.de.direccionamiento.del.8086
Modos.de.direccionamiento.del.8086Modos.de.direccionamiento.del.8086
Modos.de.direccionamiento.del.8086
 
Arquitectura De Los Computadore
Arquitectura De Los ComputadoreArquitectura De Los Computadore
Arquitectura De Los Computadore
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 
Registros Basicos del CPU.pptx
Registros Basicos del CPU.pptxRegistros Basicos del CPU.pptx
Registros Basicos del CPU.pptx
 
Manual de ensamblador en español
Manual de ensamblador en españolManual de ensamblador en español
Manual de ensamblador en español
 
Emsamblador
EmsambladorEmsamblador
Emsamblador
 
Registros de la cpu
Registros de la cpuRegistros de la cpu
Registros de la cpu
 
ects_t2.pdf
ects_t2.pdfects_t2.pdf
ects_t2.pdf
 
Microcomputadoras al detalle
Microcomputadoras al detalleMicrocomputadoras al detalle
Microcomputadoras al detalle
 

Registros en arquitectura de ordenadores

  • 1. INSTITUTO TECNOLOGICO SUPERIOR DE ZONGOLICA CAMPUS ZONGOLICA LOSREGISTROS YADIRA JAZMIN PEREZ CASTILLO ISC503
  • 2. PR OFESOR: ARTURO MARTIN MORALES RAYON En arquitectura de ordenadores, un registro es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas. Los registros están en la cumbre de la jerarquía de memoria, y son la manera más rápida que tiene el sistema de almacenar datos. Los registros se miden generalmente por el número de bits que almacenan; por ejemplo, un "registro de 8 bits" o un "registro de 32 bits". Los registros generalmente se implementan en un banco de registros, pero antiguamente se usaban biestables individuales, memoria SRAM o formas aun más primitivas. El término es usado generalmente para referirse al grupo de registros que pueden ser directamente indexados como operandos de una instrucción, como está definido en el conjunto de instrucciones. Sin embargo, los microprocesadores tienen además muchos otros registros que son usados con un propósito específico, como el contador de programa. Por ejemplo, en la arquitectura IA32, el conjunto de instrucciones define 8 registros de 32 bits.  Los registros de datos son usados para guardar números enteros. En algunas computadoras antiguas, existía un único registro donde se guardaba toda la información, llamado acumulador.  Los registros de memoria son usados para guardar exclusivamente direcciones de memoria. Eran muy usados en la arquitectura Harvard, ya que muchas veces las direcciones tenían un tamaño de palabra distinto que los datos.  Los registros de propósito general (en inglés GPRs o General Purpose Registers) pueden guardar tanto datos como direcciones. Son fundamentales en la arquitectura de von Neumann. La mayor parte de las computadoras modernas usa GPR.  Los registros de coma flotante son usados para guardar datos en formato de coma flotante.
  • 3.  L os r egistros constantes tienen valores creados por hardware de sólo lectura. Por ejemplo, en MIPS el registro cero siempre vale 0.  Los registros de propósito específico guardan información específica del estado del sistema, como el puntero de pila o el registro de estado. 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
  • 4. Regi stro 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
  • 5. proc esa dor 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.
  • 6. Regi stro 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
  • 7. una oper ació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
  • 8. 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