You are on page 1of 3

REGISTROS DE PROPOSITO GENERAL

Se encargan de direccionar a diferentes localidades de memoria las instrucciones que una computadora no puede realizar.

Registro AX (acumulador).- Es el encargado de almacenar el resultado de algunas operaciones aritméticas lógicas.

Registro BX (base).- Se utiliza en transferencia de datos entre la memoria y el procesador.

Registro CX (contador).- Se utiliza como contador en bucles (LOOP), en operaciones con cadenas (REP), y en desplazamientos (CL).

Registro DX (de datos).- Se utiliza en operaciones de multiplicación y división junto con AX y en operaciones de entrada – salida de
puertos, su mitad inferior DL contiene la cantidad de puertos.

REGISTROS DE SEGMENTO

Le indican a la computadora, en que localidad de memoria se encuentra la primera instrucción, de cada segmento.

CS (segmento de código).- Contiene la dirección base del lugar donde inicia el programa almacenado en memoria.

DS (segmento de datos).- Contiene la dirección base del lugar del área de memoria donde fueron almacenadas las variables del
programa.

ES (segmento extra).- Este registro por lo general contiene la misma dirección que el registro DS. Se utiliza también para manipular
periféricos.

SS (segmento de pila).- Contiene la dirección base del lugar donde inicia el área de memoria reservada para la pila.

REGISTROS APUNTADORES

Reciben su nombre porque su función principal es la de apuntar o de direccionar hacia alguna dirección de memoria específica.

BP (apuntador base).- Su función es la de proporcionar direcciones para la transferencia e intercambio de datos.

SP (apuntador de pila).- Se encarga de controlar el acceso de los datos a la pila de los programas. Todos los programas en lenguaje
ensamblador utilizan una pila para almacenar datos en forma temporal.

REGISTROS ÍNDICES

Existen dos registros llamados SI y DI que están estrechamente ligados con operaciones de cadenas de datos.

SI (índice fuente).- Proporciona la dirección inicial para que una cadena sea manipulada.

DI (índice destino).- Proporciona la dirección de destino donde por lo general una cadena será almacenada después de alguna
operación de transferencia.

REGISTROS APUNTADOR DE INSTRUCCIONES

IP (apuntador de instrucciones).- Ejecuta la instrucción actual y aumenta su valor para llegar a la siguiente localidad de memoria y
ejecutar otra instrucción.

UN SEGMENTO

Es un área especial de memoria en un programa, que comienza en un límite de párrafo, es decir, en una posición de memoria
divisible entre 16(10H).

Puede estar ubicado en casi cualquier lugar de la memoria y puede alcanzar hasta 64 kb de longitud. Por tanto, sólo necesitamos
16 bits para especificar la dirección de comienzo de un segmento.

SEGMENTOS Y DESPLAZAMIENTOS (offsets)

Todas las direcciones de memoria están referidas a la dirección de comienzo de algún segmento. La distancia en bytes desde la
dirección de inicio del segmento se define como el offset o desplazamiento.

El desplazamiento, es una cantidad de dos bytes, que por tanto va de 0000H a FFFFH (0 a 65535) por lo que un segmento abarca
como máximo 64k.
PILA (STACK)

Los programas ejecutables (.COM y .EXE) requieren de una zona de memoria reservada, denominada pila. La pila no es más que un
área para el almacenamiento temporal de direcciones y datos.

Las operaciones se hacen entre registros, o registros y memoria, pero nunca entre memoria y memoria (salvo algunas operaciones
con cadenas de caracteres).

Los modos de direccionamiento determinan el lugar en que reside un operando, un resultado o la siguiente instrucción a ejecutar
según sea el caso.

DIRECCIONAMIENTO DIRECTO

Se debe a que en el segundo operando se indica la dirección de desplazamiento donde se encuentran los datos de origen.

MOV AX, [1000h] ; copia en AX lo que se encuentra almacenado en DS: 1000h.

DIRECCIONAMIENTO INMEDIATO

En este modo, los datos son proporcionados directamente como parte de la instrucción.

MOV CX, 10 ; copia en CX el número 10 en decimal.

DIRECCIONAMIENTO POR REGISTRO

El segundo operando es un registro, el cuál contiene los datos con los que el microprocesador ejecutará la instrucción.

MOV AX, BX ; copia en AX el contenido del registro BX.

DIRECCIONAMIENTO INDIRECTO POR REGISTRO

El segundo operando es un registro, el cuál contiene la dirección de desplazamiento correspondiente a los datos para la
instrucción.

MOV AX, [BX] ; copia en AX el dato que se encuentra en la localidad de memoria DS: [BX]

Los paréntesis cuadrados indican al ensamblador que el número no se refiere a un dato, sino que se refiere a la localidad de
memoria.

You might also like