martes, 3 de septiembre de 2013

CRUCIGRAMA


Conceptos Capitulo 2



Bit.
La memoria del computador se compone de unidades de almacenamiento llamadas bits, que tienen dos estados posibles (representados por 0 y 1), es decir, sirven para almacenar números expresados en binario. La palabra bit proviene de la contracción  binary digit (dígito binario). Así pues, todo lo que reside en la memoria del computador (códigos de instrucción y datos) están expresados por números binarios, a razón de un dígito binario por bit.

Byte.
Los bits de la memoria se agrupan en bytes (u octetos), a razón de 8 bits por byte. Un byte es realmente la unidad de direccionamiento, es decir, podemos referirnos a cada byte mediante un número que es su dirección.

Un byte puede almacenar números binarios de hasta ocho dígitos, lo cual corresponde a un rango de valores en decimal desde 0 hasta 255 inclusive.

Unidad Central de Procesamiento.
La CPU es quien crea y controla el flujo de datos, que circula por el computador a partir de las instrucciones recibidas de la memoria, que sirven para indicar las operaciones o tratamiento a realizar sobre los datos recibidos desde el exterior o previamente almacenados en la memoria. La misma consta de dos partes: la Unidad de Control y la Unidad Aritmético-Lógica (ALU).

Unidad de Control.
La Unidad de Control recibe secuencialmente las instrucciones desde la memoria, a través del bus de datos, almacenándolas en el registro de instrucciones (IR). Desde IR las instrucciones pasan al decodificador de instrucciones, el cual se encarga de interpretarlas y producir una serie de impulsos de gobierno y control. Estos impulsos regulan a los elementos de la máquina, que participan en la ejecución de la instrucción.

Unidad aritmético-lógica.
La Unidad  aritmético-lógica (ALU) es la encargada del procesamiento lógico y aritmético de los datos, según el carácter que determine cada instrucción.

Memoria.
El programa o secuencia de instrucciones, que debe seguir la máquina para realizar el procesamiento de los datos, está almacenado en una parte de la memoria, denominada  memoria o segmento de instrucciones para diferenciarla del resto de la misma, que se emplea para guardar datos y resultados en forma temporal.



Memoria ROM.
La memoria  ROM (Read Only Memory) o memoria de sólo lectura también permite el acceso directo a cada uno de los elementos que la componen, pero la información en ella contenida puede ser leída pero no alterada. Debido a que conserva la información, aún en el caso de ausencia de energía, se usa para almacenar las rutinas de mas bajo nivel, que sirven para el arranque del sistema.

Memoria RAM.
La memoria  RAM  (Random Access Memory) o memoria de acceso al azar debe su nombre al hecho de permitir el acceso a cualquiera de las localidades de memoria en forma directa, En ella se va a almacenar, por lo tanto, el sistema operativo y los programas del usuario, así como la información temporal que estos manejen.

Periféricos.
Son los encargados de enviar y/o recoger información del mundo externo a la computadora e intercambiarla con la unidad central de procesamiento a través de la unidad de entradas y salidas.

Buses
Los buses no son más que los conductores que interconectan cada una de las partes que componen al computador. A través de ellos viaja información que según su función permite clasificarlos en tres tipos: bus de Datos, bus de Direcciones y bus de Control.

Bus de datos.
El bus de datos se encarga de transferir información entre el CPU, la memoria y los periféricos. Es bidireccional, ya que la información  puede fluir en ambos sentidos, es decir, desde o hacia el microprocesador.

Bus de direcciones.
El bus de direcciones permite seleccionar la localidad de memoria o el periférico que el CPU desea accesar. Este bus es unidireccional ya que la información a través de él siempre fluye desde el microprocesador.

Bus de control.
En el Bus de Control se encuentran las diferentes señales encargadas de la sincronización y control del sistema. Su naturaleza es unidireccional aun cuando existen señales que salen del microprocesador así como otras que entran al microprocesador. Ejemplos de las señales de control son:

1.       WR (escritura)
2.       RD (lectura)
3.       WAIT (espera)
4.       READY (listo)

domingo, 1 de septiembre de 2013

MODOS DE DIRECCIONAMIENTO



Modos de Direccionamiento.
El 8086 ofrece una multitud de vías para direccionar la información: registro a registro, direccionamiento inmediato, direccionamiento directo y varios tipos diferentes de direccionamiento indirecto.

Direccionamiento Registro.
Es aquel en el cual la operación se lleva a cabo entre los contenidos de dos registros. Por ejemplo, la instrucción

mov AX,BX

indica que el contenido del registro BX sea copiado en el registro AX.

MOV Rn,A ; Carga en el registro Rn el contenido del acumulador: Rn <--- (A).
Este direccionamiento ocupa muy poca memoria de programa y permite acceder de manera rápida a los datos más frecuentemente utilizados.

Direccionamiento Inmediato.
En este modo de direccionamiento, uno de los operandos está presente en el o los bytes siguientes al código de operación. Por ejemplo, la instrucción

add AX,3064h

indica que el número 3064h sea sumado al contenido del registro AX y el resultado almacenado en dicho registro.
MOV A,#255 ; Carga en el acumulador el número decimal 255.
MOV DPTR,#36CAH ; Carga en el registro DPTR el valor 36CAH. 

Direccionamiento Directo.
EL 8086 implementa el direccionamiento directo a memoria, sumando un desplazamiento de 16 bits, indicado por los dos bytes que siguen al código de operación, al contenido del registro de segmento de datos. La suma es pues, la posición de memoria direccionada. Por ejemplo, la instrucción


mov AH,TABLA

señala que el contenido de la posición de memoria cuya dirección está indicada por el identificador TABLA, sea copiado en el registro AH.

ADD A,3BH ; esta instrucción suma (ADD) al contenido del acumulador el contenido de la posición de memoria 3BH: A <--- (A) + ([3B]). 

Direccionamiento Indirecto.
El modo de direccionamiento indirecto es el más difícil de comprender, pero también el más poderoso. Existen cuatro métodos de direccionamiento indirecto: indirecto a registro, relativo a base, indexado e indexado a base.

Indirecto a Registro.
En el modo de direccionamiento indirecto a registro, la dirección de memoria donde se encuentra uno de los operandos es indicada a través del contenido de los registros BX, BP, SI o DI. La instrucción

mov AX,[DI]

establece que el contenido de la palabra de memoria cuya dirección está indicada por el contenido del registro DI, sea copiado en el registro AX.

Relativo a Base.
El direccionamiento a la memoria de datos, relativo a base simplemente usa el contenido del registro BX o BP como base para la posición efectiva de memoria. La instrucción

mov CL,[BP]+DESP

copia el contenido de la posición de memoria cuya dirección está determinada por la suma del contenido de BP y DESP, en el registro CL.

Indexado.
El direccionamiento indexado directo está permitido especificando los registros SI o DI como índices. Empleando este modo de direccionamiento es posible acceder a los elementos de un vector. La instrucción

sub AH,MATRIZ[SI]

resta del contenido del registro AH, el valor contenido en la posición de memoria especificada por la suma del desplazamiento indicado por el identificador MATRIZ y el contenido del registro SI.

Indexado a Base.
Resulta de la combinación de los modos de direccionamiento Relativo a Base e Indexado Directo. La instrucción

mov DH,VECTOR[BX][DI]

señala que el contenido de la posición de memoria cuya dirección viene indicada por la suma de los contenidos de los registros BX y DX y del desplazamiento establecido por el identificador VECTOR, sea copiado en DH.



Combinaciones de registros de segmento y desplazamiento.


Como se ve en los modos de direccionamiento, hay casos en los que se indica explícitamente el registro de segmento a usar para acceder a los datos. Existen unos segmentos asociados por defecto a los registros de desplazamiento (IP, SP, BP, BX, DI, SI); sólo es necesario declarar el segmento cuando no coincide con el asignado por defecto. En ese caso, el ensamblador genera un byte adicional (a modo de prefijo) para indicar cuál es el segmento referenciado. La siguiente tabla relaciona las posibles combinaciones de los registros de segmento y los de desplazamiento:

CS
SS
DS
ES
IP
No
No
No
SP
No
No
No
BP
con prefijo
por defecto
con prefijo
con prefijo
BX
con prefijo
con prefijo
por defecto
con prefijo
SI
con prefijo
con prefijo
por defecto
con prefijo
DI
con prefijo
con prefijo
por defecto
con prefijo(1)
 

Resumen en el cuaderno.



Comandos del Debug