Conalep II Materia Microprocesadores
 
 
This property was reserved by

Ing. Juan Antonio Palacios
on
21st Sep 1998

I'm 23 years old, from Mexico.




 
Materia de Microprocesadores
UNIDAD I
INTRODUCCION A LA ORGANIZACI�N DE COMPUTADORAS PERSONALES

Una computadora digital es una m�quina que puede resolver problemas ejecutando instrucciones dadas en orden. Se llama programa a una secuencia de instrucciones que describe c�mo ejecutar cierta tarea.
Los circuitos electr�nicos de cada computadora pueden reconocer y ejecutar directamente un conjunto de instrucciones (las instrucciones son expresadas con unos y ceros). El conjunto de instrucciones de una computadora forma el lenguaje m�quina. Estas instrucciones b�sicas pocas veces rebasan la complejidad de:

 Sumar dos n�meros.
 Comprobar si un n�mero es cero.
 Mover datos de una parte de la memoria a otra.

Todos los programas que se deseen ejecutar en una computadora deben convertirse previamente en una secuencia de instrucciones en lenguaje maquina. Debido a que la mayor�a de los lenguajes de m�quina son demasiado elementales, es dif�cil y tedioso utilizarlos.
Hay dos formas de resolver este problema; ambas incluyen la creaci�n de un nuevo conjunto de instrucciones, m�s convenientes para las personas que el conjunto de instrucciones propias de la m�quina.
Estas nuevas instrucciones, en conjunto, forman un nuevo lenguaje que llamaremos L2, de manera semejante a la que forman las nuevas instrucciones propias de la m�quina, que llamaremos L1. Las dos formas difieren en el modo en que los programas escritos en L2 son ejecutados por la computadora.
Un m�todo para ejecutar un programa escrito de L2 consiste en sustituir cada instrucci�n por una secuencia equivalente de instrucciones en L1. El resultado es un nuevo programa escrito totalmente con instrucciones en L1. La computadora ejecutar� entonces el nuevo programa en L1 y no el anterior en L2. Esta t�cnica se denomina traducci�n o compilaci�n.
La otra t�cnica es escribir un programa en L1 que tome programas escritos en L2 como datos de entrada y los lleve a cabo examinando una instrucci�n a la vez y ejecutando directamente la secuencia equivalente de instrucciones en L1. Esta t�cnica, que no requiere la generaci�n previa de un nuevo programa en L1, se llama interpretaci�n y el programa que la lleva a cabo, int�rprete e.

SISTEMA OPERATIVO DE DISCO

DOS (sistema operativo de disco) es un conjunto de programas que hacen que funcione la computadora.
DOS ha pasado atravez de los a�os y ha sido mejorado. Cada versi�n ha sido emitida con un numero que la identifica. La primera versi�n del DOS fue la 1.0. Atravez de los a�os �l numero de versi�n ha ido aumentado (2.0, 3.0, 4.0, y 5.0) y esto significa que se han introducido mejoras algunas menores y otras mayores.
El programa m�s importante del DOS se llama COMMAND.COM. Cuando se enciende una computadora autom�ticamente se lee el COMMAND.COM de una de las unidades de disco (disco duro o disco flexible) y se carga en la RAM, y toma el control de la maquina. El COMMAND.COM se ocupa de las tareas importantes de la maquina, coma la lectura y escritura de la informaci�n (en la RAM o en el disco duro). Una vez cargado el COMMAND.COM ya se puede ejecutar cualquier programa (procesador de texto, base de datos, juegos, etc.). Antes de ejecutarse un programa el COMMAND.COM le asignara un espacio en la RAM a las instrucciones, los datos y la pila del programa, para que sean extra�das por el microprocesador.
Adem�s de efectuar el trabajo b�sico de la computadora, el DOS provee un numero de comandos con la ayuda de los cuales se puede ejercer acci�n sobre la informaci�n (contenida en el disco duro o disco flexible), y poder tener control sobre la impresora, monitor, etc.

ELEMENTOS DE UN SISTEMA DE C�MPUTO

Una computadora digital es un sistema de microprocesadores, memorias y dispositivos de entrada/salida interconectados.
Se usaran los t�rminos de miprocesadores, CPU y procesadores indistintamente. En la Figura 1-5 se muestra la organizaci�n de una computadora (Arquitectura de una computadora). La Unidad Central de Procesamiento (CPU) es el "cerebro" de la computadora. Su funci�n es ejecutar los programas almacenados en la memoria principal, y controlar el funcionamiento de los componentes conectados a la computadora (dispositivos perif�ricos).
La CPU esta compuesta por la unidad de control, memoria principal, y la unidad aritm�tica y l�gica.
La unidad de control se encarga de traer las instrucciones de la memoria principal, interpr�talas y despu�s ejecutarlas. La unidad aritm�tica y l�gica se encarga de realizar operaciones aritm�ticas y l�gicas, como la suma, resta, o la funci�n booleana AND.
La CPU tambi�n contiene una peque�a memoria de alta velocidad utilizada para almacenar resultados intermedios y cierta informaci�n de control. Esta memoria consta de varios registros, cada uno de los cuales tiene cierta funci�n. El registro m�s importante es el Apuntador de Programa (IP), que indica la pr�xima instrucci�n que debe ejecutarse.


Fig. 1-5. Organizaci�n de una computadora sencilla, con un CPU y dos dispositivos de E/S.

La memoria principal o RAM (memoria de acceso aleatorio) es aquel hardware de la computadora en donde se almacenan los programas (para ser ejecutados) y los datos (para ser procesados).
Los datos y los programas permanecen en la RAM durante un peque�o tiempo, permanecen durante la ejecuci�n el programa o hasta que permanece encendida la computadora (es una memoria vol�til).
Memoria vol�til.- Memoria que guarda la informaci�n mientras tiene suministro de energ�a. Pierde la informaci�n cuando se le quita el suministro de energ�a.
Organizaci�n de las memorias

Bits
La unidad b�sica de memoria es el d�gito binario al que se denomina bit. Este puede contener un 0 o un 1 y es la unidad m�s simple posible.

La gente normalmente dice que las computadoras utilizan aritm�tica binaria porque es "eficiente". Lo que quieren decir (aunque raramente se dan cuenta de ello) es que la informaci�n digital puede almacenarse distinguiendo entre diferentes valores de alguna cantidad f�sica continua, como el voltaje o la corriente. Cuantos m�s valores tengan que distinguirse, menor ser� la separaci�n entre los valores adyacentes y menor la fiabilidad de la memoria. El sistema de numeraci�n binario necesita �nicamente diferenciar entre dos valores. En consecuencia, es el sistema m�s fiable para codificar informaci�n digital.

Sin embargo, consid�rese qu� ocurrir�a si alg�n joven y brillante ingeniero electr�nico inventara un dispositivo electr�nico altamente fiable que pudiera almacenar directamente los d�gitos de 0 a 9 dividiendo la regi�n de 0 a 10 volts en 10 partes. Con tales dispositivos, el sistema decimal es, obviamente, m�s eficiente.

Direcciones de memoria
Las memorias constan de cierto n�mero de celdas (c�lulas o posiciones), cada una de las cuales pueden almacenar una cantidad de bits. Cada celda tiene un n�mero asociado que la identifica, denominado direcci�n, por el que los programas pueden referirse a ella. Si una memoria tiene n numero de celdas, tendr� las direcciones de 0 a n-1 (Ejemplo 5 celdas ser�n sus direcciones del 0 al 4). Todas las celdas de una memoria tienen el mismo n�mero de bits. La Figura 1-13 muestra tres organizaciones distintas de una memoria de 96 bits. Obs�rvese que las celdas adyacentes tienen direcciones consecutivas.




Fig. 1-13. Tres maneras de organizar una memoria de 96 bits.

La importancia de la celda (conjunto de bits en una celda) reside en que es la unidad m�s peque�a direccionable. En los �ltimos a�os, la mayor�a de los fabricantes de computadoras han establecido como norma una celda de 8 bits, la que se denomina byte.

Dispositivos de memoria

Terminales de las memorias
Las terminales comunes para todos los dispositivos de memoria son: las entradas de direcci�n, salidas o entradas de datos, alg�n tipo de entrada de selecci�n, y alguna entrada de control utilizada para seleccionar la lectura o escritura en la memoria. Las terminales de los circuitos integrados digitales que tengan un s�mbolo �, o un subrayado superior, indica que esas terminales se activan al aplicarse un cero l�gico. Las terminales de los circuitos integrados digitales que no tengan un s�mbolo �, o un subrayado superior, indica que esas terminales se activan al aplicarse un uno l�gico. En ingles lectura es write, una la terminal puede tener WR! para indicar que esa terminal habilita la escritura; en ingles lectura es read, una la terminal puede tener RD! para indicar que esa terminal habilita la lectura.

Terminales para la direcci�n.- Todos los dispositivos de memoria tienen entradas de direcci�n que selecciona una localidad de memoria. �l numero de terminales de direcci�n se determina por �l numero de localidades de memoria. Las terminales de direcci�n se identifican por lo general por la letra A (Address).
Un dispositivo de 1024 (1k) localidades tiene 10 terminales de direcci�n (A0 hasta A9), se necesita un numero binario de 10 d�gitos para seleccionar una localidad de las 1024 localidades. Por lo tanto �l numero de localidades de memoria se puede obtener por �l numero de terminales de direcci�n. Un dispositivo de 4096 localidades tiene 12 terminales de direcci�n (A0 hasta A11). Un dispositivo de 13 terminales de direcci�n (A0 hasta A12) tienen 8192 (212) localidades de memoria.

Terminales para datos.- Todos los dispositivos de memoria tienen un conjunto de terminales para la salida o entrada de datos. Las terminales de datos son los puntos en los cuales se da entrada a los datos para almacenarlos o se extraen para su lectura. Por lo general las terminales de datos son en 8, 16, 32.
En algunos dispositivos de memoria se mencionan como localidades de memoria multiplicadas por los bits de una localidad. Por ejemplo un dispositivo de memoria de 1k de localidades y ocho bits en cada localidad, el fabricante a menudo lo se�ala como de 1k*8.

Terminal de selecci�n.- Cada dispositivo de memoria tiene una entrada (en pocas veces mas) que selecciona o habilita el dispositivo. Esta clase de entrada se suele llamar: selecci�n del integrado (CS!), habilitaci�n del integrado (CE!), o selecci�n (S!). El dispositivo se activara al recibir un cero l�gico en la terminal de selecci�n. En la memoria no se podr� leer o escribir s� esta apagada o inactiva. Si hay mas de una terminales de selecci�n habr� que habilitarlas todas.

Terminales de control.- Todos los dispositivos de memoria tienen al menos una terminal de control. Esta terminal indica la operaci�n que realizara la memoria, escritura o lectura. Una ROM tiene solo una entrada de control (para lectura), y la RAM tiene una o dos terminales de control (para lectura y escritura).
La entrada de control que se encuentra con mas frecuencia en una ROM es la habilitaci�n de salida (OE!), o compuerta (G!), que permite el paso de los datos hacia la salida. En estas terminales se debe aplicar un cero l�gico para permitir la salida de la informaci�n.




Memoria ROM
En la ROM (memoria de solo lectura) se almacena de forma permanente programas y datos que no se borran al cortarse el suministro de energ�a. La memoria ROM esta disponible en diferentes presentaciones como ROM, EPROM, PROM, EEPROM, EAROM y otras.

 La ROM se adquiere en grandes cantidades con el fabricante y se le almacena la informaci�n durante su fabricaci�n.
 La EPROM (ROM borrable y programable) es el tipo de ROM m�s com�n cuando se desea cambiar la informaci�n frecuentemente. Es m�s barata la EPROM que la ROM por eso frecuentemente se usa cuando se necesita una sola ROM (la ROM solo se vende en cantidades mayores de 10,000 unidades). En una EPROM se le almacena (introduce) la informaci�n por medio de un dispositivo especial que se llama programador de EPROM. La EPROM tambi�n se le puede borrar al exponerse una luz ultravioleta de alta densidad sobre su gota de cristal (se encuentra en la parte superior del CI) durante un cierto tiempo (generalmente 20 minutos).
 PROM (ROM programable) es un tipo de ROM que solo se puede programar una sola vez. Una PROM se le almacena (introduce) la informaci�n por medio de un dispositivo especial que se llama programador de EPROM.
 EEPROM es una ROM programable, el�ctricamente borrable. Esta memoria se puede borra por acci�n el�ctrica,

Memoria RAM
Las RAMs son dispositivos que retienen la informaci�n mientras reciben suministro de energ�a. Existen dos tipos de RAM, la est�tica y la din�mica.

 RAM est�tica (SRAM) ya que retiene la informaci�n sin realizar ninguna acci�n especial (excepto tener suministro de energ�a) para retener los datos almacenados se le dio el nombre de RAM est�tica. Se emplea cuando el tama�o de la memoria de lectura y escritura es muy peque�o. Una memoria peque�a es de menos de 1M byte de capacidad.
 La RAM din�mica o DRAM es un tipo de RAM que retiene la informaci�n durante muy poco tiempo (2 o 4 mS) y por eso hay que refrescar la informaci�n continuamente. Las memorias DRAM tienen mayor capacidad de informaci�n que las SRAM.







Los registros internos del 8088 de Intel
El 8088 puede direccionar 220 bytes, numerados de manera consecutiva a partir de 0, como se muestra en la figura 2-19.

Figura 2-19. Arquitectura de la memoria del 8088
Con 220 bytes de memoria, el 8088 necesita en realidad de direcciones de 20 bits para el direccionamiento de memoria. Cada registro de segmento apunta a alguna parte dentro del espacio de direccionamiento de 220 bytes, como se puede ver en la figura 2-20. Toda extracci�n de instrucciones se hace en forma relativa al registro de segmento de c�digo. Por ejemplo, si �ste apunta a la direcci�n 96000 y el contador de programa tiene un valor de 1204, la siguiente instrucci�n ser� extra�da de la direcci�n 97204. Con este valor en el registro de segmento de c�digo, se podr�n extraer las instrucciones ubicadas en el rango de direcciones de 96000 a 161535. En forma similar, existen los registros de segmento de datos y segmento pila. Hay un registro de segmento extra que se usa como repuesto cuando se necesite.


Figura 2-20. Uso de los registros de segmento del 8088
En teor�a, los registros de segmento deber�an tener una dimensi�n de 20 bits a efecto de apuntar a cualquier direcci�n dentro del espacio de direccionamiento de 220 bytes. No obstante, como se mencion� anteriormente, el 8088 no est� muy bien equipado para trabajar con n�meros de 20 bits. Este problema se resolvi� haciendo que todos los registros de segmento apuntaran s�lo a direcciones que fueran m�ltiplos de 16 bytes, de modo que los cuatro bits de orden inferior son cero y no tienen que ser almacenados. De ah� que los registros de segmento contengan s�lo los 16 bits superiores de las direcciones de 20 bits.
El 8088 tiene 14 registros, todos de 16 bits, cada uno diferente los cuales se enlistan en la figura 2-21.


El modelo de programaci�n

La programaci�n en ensamblador requiere un claro entendimiento de la estructura de los registros internos del microprocesador.
El arreglo de registros internos consta de tres grupos de registros: Registros de uso general, Registros apuntadores e �ndices, Registros de segmento. Adem�s ah� un registro de banderas.

Registros de uso general
Se llama registros de uso general porque el programador los usa como desee. En algunas instrucciones se utilizan para tareas especificas por eso a cada registro se le da su nombre. Cada registro de uso general se puede direccionar como un registro de 16 bits (AX, BX, CX, DX) o como un registro de 8 bits (AH, AL, BH, BL, CH, CL, DH, DL).
AX (Acumulador).- Con el uso de algunas instrucciones conserva el resultado despu�s de una operaci�n aritm�tico l�gica.
BX (Base).- Conserva la direcci�n base (desplazamiento) de los datos que hay en memoria.
CX (Contador).- Contiene el conteo de ciertas instrucciones de ciclo.
DX (Datos).- Contiene la parte m�s significativa de un producto despu�s de una multiplicaci�n.

Registro apuntadores e �ndices
Se utilizan a menudo para apuntar a la localidad de memoria que contiene los datos.
SP (Apuntador de pila).- Se emplea para direccionar los datos en una pila de memoria LIFO (primero en entrar ultimo en salir).
BP (Apuntador de base).- Se utiliza a menudo para direcciona a una matriz de datos en la pila de memoria.
SI (Indice fuente).- A menudo se utiliza para direccionar datos fuente en forma indirecta.
DI (Indice destino).- A menudo se utiliza para direccionar datos destino en forma indirecta.
IP (Apuntador de instrucci�n).- Se utiliza SIEMPRE para apuntar a la siguiente instrucci�n a ejecutarse por el microprocesador.

Registros de segmentos
Generan la direcci�n real de memoria junto con otros registros del microprocesador.
El microprocesador tiene un conjunto de reglas que se aplican siempre que se direcciona a la memoria, definen la combinaci�n de registros de segmento y de desplazamiento para formar la direcci�n de memoria.
Por ejemplo, el CS se emplea siempre con el IP para direccionar a la siguiente instrucci�n que hay que extraer de la memoria (CS:IP).
Por ejemplo, el SS se emplea siempre con el SP para direccionar a los elementos en al pila (SS:SP).
CS (C�digo).- Contiene la direcci�n inicial del segmento de c�digo.
DS (Datos).- Contiene la direcci�n inicial del segmento de datos.
SS (Pila). - Contiene la direcci�n inicial del segmento de pila.
ES (Extra).- Contiene la direcci�n inicial del segmento extra.
El primer byte de cualquier segmento se le asigna �l numero 0, al segundo byte se le asigna el 1, al tercer byte se le asigna el 2, al cuarto byte se le asigna el 3, y as� sucesivamente, a este numero que se le asigna a cada byte de un segmento se le conoce como desplazamiento.



Figura 2-21. Los registros del 8088

El registro de BANDERAS (v�ase figura 2-22) no es exactamente un registro normal, sino un conjunto de bits a los que se asigna un valor, se les borra o se verifican por medio de diversas instrucciones, indican la condici�n del microprocesador a la vez que controlan su funcionamiento. En forma breve, estos bits tienen el siguiente significado: el bit D determina la direcci�n en las operaciones de cadena.
 El bit I, controla el funcionamiento de la terminal del microprocesador INTR! Habilita Interrupciones.
 El bit T, habilita Desv�os para rastreo, que se utilizan para efectos de depuraci�n.

A los bits restantes se les llaman con frecuencia c�digos de condici�n, ya que adquieren su valor con diferentes instrucciones, dependiendo de las diversas condiciones que pueden surgir (resultado negativo, cero, etc.).
 El bit O toma el valor de 1 cuando ocurre un Desbordamiento (excede la capacidad de almacenaje) en el resultado de una operaci�n aritm�tica.
 El bit de signo S indica si despu�s de una operaci�n aritm�tica l�gica el resultado fue positivo o negativo. Toma valores con las instrucciones aritm�ticas, 1 para resultados negativos y 0 para positivos.
 El bit Z indica si despu�s de una operaci�n aritm�tica l�gica el resultado fue cero. Toma el valor de 1 para resultados con valor de cero, y el valor de 0 para resultados diferentes de cero.
 El bit C (Acarreo) Indica si hubo un acarreo despu�s de una operaci�n aritm�tico l�gica.
 El bit P indica la paridad (non o par) del resultado de una instrucci�n aritm�tica. Si un numero binario tiene un numero impar de unos tiene paridad impar, y tiene paridad par si tiene un numero par de unos.
 El bit D controla la selecci�n de incremento o decremento de los registros SI y DI.
 Existen adem�s siete bits que no tienen uso en el 8088, aunque algunos de ellos se utilizan en los sucesores de �ste.

Figura 2-22. El Registro de Banderas del 8088.

Muchas de las instrucciones del 8088 hacen referencia a uno o dos operandos, ya sea en los registros o en memoria. Por ejemplo la instrucci�n INC incrementa (suma 1 a) su operando; ADD suma el operando fuente al de destino.
La mayor�a de las instrucciones tienen dos variantes, una que opera en palabras de 16 bits y otra que opera en bytes de 8 bits.
El 8088 tiene algunas instrucciones para cargar, almacenar, mover, comparar y examinar cadenas de caracteres o palabras.

Comparaci�n de los microprocesadores 80386 (Intel) y 68030 (Motorola)
Si echamos un vistazo al conjunto de instrucciones de ambos procesadores nos mostrar� que a grosso modo utilizan el mismo tipo de instrucciones. Ambos tienen instrucciones para mover datos, realizar c�lculos aritm�ticos binarios y decimales, as� como operaciones booleanas y de desplazamiento/rotaci�n, efectuar transferencias de control y manejar campos de bits. La mayor parte de las instrucciones en cada m�quina, tiene una correspondiente en la otra.
La diferencia m�s significativa entre ambos es el direccionamiento.
Otra diferencia se encuentra en los registros.
Ambas m�quina pueden manejar cantidades de 8, 16 y 32 bits.
El m�todo para realizar operaciones de entrada/salida es diferente tambi�n en el 80386 y el 68030. El primero tiene instrucciones expl�citas para lectura y escritura de puertos de E/S. El otro no las tiene. Una diferencia final entre ambas m�quinas es la presencia del modo real y virtual en el 80386, caracter�stica que el 68030 no necesita.






DISPOSITIVOS DE ENTRADA/SALIDA O DISPOSITIVOS PERIFERICOS

Para que una computadora pueda empezar a trabajar en la resoluci�n de un problema, debe d�rsele el programa m�s los datos si los hay. Despu�s de que ha encontrado la soluci�n. La computadora debe comunicar su soluci�n a la persona que le plante� el problema. El tema del paso de informaci�n hacia la computadora o desde ella se llama entrada/salida o E/S (I/O en ingles).


Fig. 1-24. Estructura l�gica de una computadora personal.

No todas las entradas provienen de las personas ni todas las salidas son para personas. Un telescopio solar operado por computadora puede tomar sus datos directamente de los instrumentos que observan el Sol. Una computadora que est� controlando una planta qu�mica automatizada puede dirigir su salida a las m�quinas de la planta que regulan los productos qu�micos que se est�n produciendo.
Se le llama dispositivo perif�rico a todos aquellos dispositivos que esta afuera del motherboard, el cual se encuentra conectado y controlado por el microprocesador. Atravez de estos dispositivos la computadora es capaz de recibir los datos para su procesamiento y entregar los resultados.
En la actualidad existen disponibles muchas clases de dispositivos de entrada y salida. A continuaci�n se presentan algunos de los m�s comunes.

Programaci�n en ensamblador

Directivas e instrucciones
Un programa consiste en un conjunto de enunciados en cierto orden. Los dos tipos de enunciados son:
Instrucciones.- El ensamblador traduce las instrucciones a lenguaje maquina.
Directivas.- El ensamblador no las convierte las directivas a lenguaje maquina, le indican al ensamblador realizar cierta acci�n especifica.

Identificadores
Un identificador es un nombre que se le aplica a un elemento de un programa. Los dos tipos de identificadores son: nombre (se refiere a la direcci�n del dato en memoria), y etiqueta (se refiere a la direcci�n de una instrucci�n en memoria).
Un identificador debe iniciar siempre con una letra (a excepci�n de los siguientes signos @, ?, $). Puede contener d�gitos (del 0 al 9), caracteres especiales como @, ?, $, punto ( . ). La longitud m�xima de un identificador es de 31 caracteres.
En ensamblador se trata a las may�sculas y min�sculas como si fueran iguales. Por convenci�n todas las instrucciones y directivas en ensamblador se escribir�n en may�sculas y los comentarios con min�sculas.

Comentarios en lenguaje ensamblador
El uso de comentarios se utiliza para mejorar el entendimiento de un programa. Un comentario empieza con un punto y coma (;), y a su derecha todo ser� un comentario. Un comentario puede contener cualquier car�cter imprimible, incluyendo el espacio en blanco. Un comentario no genera instrucciones en lenguaje maquina por lo cual no aumenta el tama�o de un programa ejecutable.

Ejemplos:

ADD AX,BX ;Suma
MOV DX,CX ;Mueve el valor
MOV DX,HOLA ;Mueve el contenido de hola

Instrucci�n MOV
La instrucci�n MOV copia los datos del operando fuente al operando destino. El tama�o del operando destino tiene que ser mayor o igual al tama�o del operando fuente. Cuando se copian los datos al operando destino se borra la informaci�n que conten�a �l operando destino. El formato general para la instrucci�n MOV es:

MOV Destino, Fuente
MOV registro/memoria, registro/memoria

Ejemplos:

MOV AX,BX ;Copia el contenido de BX a AX
MOV AX,BH ;Copia el contenido de BH a AX
MOV HOLA,AX ;Copia el contenido de AX a HOLA (16 bits)
MOV AX,HOLA ;Copia el contenido de HOLA a AX
MOV AH,SILLA ;Copia el contenido de SILLA (8 bits) a AH
MOV SILLA,AH ;Copia el contenido de AH a SILLA (8 bits)
MOV AX,SILLA ;Copia el contenido de SILLA (8 bits) a AX (16 bits)

Modos de direccionamiento
Es la forma de enviar y recibir los datos, y pueden ser:
Direccionamiento por registros.- Para este modo de direccionamiento los dos operandos de una instrucci�n deben de ser registro. El tama�o del operando destino tiene que ser mayor o igual al tama�o del operando fuente. No se permite el direccionamiento entre registros de segmentos (cuando los dos operando son registros de segmento).
Ejemplos:

MOV AX,BX ;Copia el contenido de BX a AX
MOV AX,BH ;Copia el contenido de BH a AX
MOV AL,BL ;Copia el contenido de BL a AL
MOV CH,CL ;Copia el contenido de CL a CH
MOV DI,SI ;Copia el contenido de SI a DI
MOV DS,AX ;Copia el contenido de AX a DS

Direccionamiento inmediato.- Permiten que se env�a datos num�ricos a una localidad de memoria o a un registro. El tama�o del operando destino tiene que ser mayor o igual al tama�o del operando fuente.

Ejemplos:

MOV AX,44 ;Env�a un 44 decimal
MOV AX,32H ;Env�a un 32 hexadecimal
MOV AL,10101B ;Env�a un 10100 binario
MOV CH,67O ;Env�a un 67 octal
MOV DI,12D ;Env�a un 12 decimal
MOV HOLA,14D ;Env�a un 14 decimal
MOV SILLA,21D ;Env�a un 21 decimal

Direccionamiento directo.- Permiten que se env�an datos entre una localidad de memoria y un registro. El tama�o del operando destino tiene que ser mayor o igual al tama�o del operando fuente.

Ejemplos:

MOV BX,HOLA ;Copia el contenido de HOLA a BX.
MOV HOLA,DX ;Copia el contenido de DX a HOLA (16 bits).
MOV HOLA,AX ;Copia el contenido de AX a HOLA (16 bits).
MOV AX,HOLA ;Copia el contenido de HOLA a AX.
MOV AH,SILLA ;Copia el contenido de SILLA (8 bits) a AH.
MOV SILLA,AH ;Copia el contenido de AH a SILLA (8 bits).
MOV AX,SILLA ;Copia el contenido de SILLA (8 bits) a AX (16 bits).

Direccionamiento indirecto.- Env�a datos entre un registro y una localidad de memoria direccionada por un registro �ndice o base (BP, BX, SI, DI). El tama�o del operando destino tiene que ser mayor o igual al tama�o del operando fuente.

Ejemplos:

MOV AX,[BX] ;Copia el contenido de la direcci�n de memoria que apunta BX a AX
MOV DX,[BX] ;Copia el contenido de la direcci�n de memoria que apunta DX a AX
MOV CX,[DI] ;Copia el contenido de la direcci�n de memoria que apunta DI a CX
MOV BX,[SI] ;Copia el contenido de la direcci�n de memoria que apunta SI a BX
MOV QUE,[BX] ;Copia el contenido de la direcci�n de memoria que apunta BX a QUE
MOV CAL,[BX] ;Copia el contenido de la direcci�n de memoria que apunta DX a CAL
MOV MIJ,[DI] ;Copia el contenido de la direcci�n de memoria que apunta DI a MIJ
MOV TOL,[SI] ;Copia el contenido de la direcci�n de memoria que apunta SI a TOL
MOV [BX],AX ;Copia el contenido de AX a la direcci�n de memoria que apunta BX
MOV [BX],DX ;Copia el contenido de DX a la direcci�n de memoria que apunta BX
MOV [DI],CX ;Copia el contenido de CX a la direcci�n de memoria que apunta DI
MOV [SI],BX ;Copia el contenido de BX a la direcci�n de memoria que apunta SI
MOV [BX],QUE ;Copia el contenido de QUE a la direcci�n de memoria que apunta BX
MOV [BX],CAL ;Copia el contenido de CAL a la direcci�n de memoria que apunta DX
MOV [DI],MIJ ;Copia el contenido de MIJ a la direcci�n de memoria que apunta DI
MOV [SI],TOL ;Copia el contenido de TOL a la direcci�n de memoria que apunta SI

Definici�n y llamada de procedimientos
Un segmento de c�digo contiene el c�digo ejecutable de un programa (en lenguaje maquina). Un procedimiento es una subrutina que se llama durante la ejecuci�n de un programa. Se llama a dicha subrutina mediante la instrucci�n CALL y enseguida el nombre del procedimiento. Se pueden definir procedimientos mediante la directiva PROC y ENDP. El formato general para la definici�n de procedimientos es:

Nombre PROC NEAR
....
....
RET
Nombre ENDP

La directiva ENDP indica fin del procedimiento y contiene el mismo nombre con el que declaro el procedimiento.
Se puede estar ejecutando el programa principal y en cierto momento por medio de la instrucci�n CALL se llama a un procedimiento. Un procedimiento se utiliza cuando cierto conjunto de instrucciones se usaran repetidamente, al definir un procedimiento y utilizarlo en el programa solo se necesitara llamar a dicho procedimiento en lugar de escribir todas las instrucciones equivalentes. El formato general para llamar procedimientos es:

CALL Etiqueta

Ejemplo: Definici�n del procedimiento SILLA.

SILLA PROC NEAR
....
....
RET
SILLA ENDP

Llamada al procedimiento SILLA

CALL SILLA
Cascaron de un programa en ensamblador

.MODEL SMALL
.STACK 64 ;Se define el tama�o del segmento de pila, a 64 bytes
.DATA ;Se define el segmento de datos
... ;Aqu� se definen los datos
... ;Aqu� se definen los datos
... ;Aqu� se definen los datos
.CODE ;Se define el segmento de c�digo
MAIN PROC NEAR ;Procedimiento principal del programa
MOV AX,@DATA ;Instrucciones que inicializan el segmento de datos
MOV DS,AX ;Instrucciones que inicializan el segmento de datos
... ;Instrucciones del procedimiento principal
... ;Instrucciones del procedimiento principal
CALL PROCA ;Llama a un procedimiento
... ;Instrucciones del procedimiento principal
... ;Instrucciones del procedimiento principal
MOV AH,4CH ;Instrucciones que finaliza el programa
INT 21H ;Instrucciones que finaliza el programa
MAIN ENDP ;Finaliza el procedimiento principal
... ;Procedimientos adicionales
... ;Procedimientos adicionales
PROCA PROC NEAR ;Inicia el procedimiento PROCA
... ;Instrucciones del procedimiento
... ;Instrucciones del procedimiento
RET
PROCA ENDP ;Finaliza el procedimiento PROCA
... ;Procedimientos adicionales
... ;Procedimientos adicionales
END MAIN ;Finaliza el programa, tiene el mismo nombre que �l ;procedimiento principal

Definici�n de datos
El ensamblador permite la definici�n de elementos de varias longitudes, gracias a un conjunto de directivas. Por ejemplo DB define un byte y DW define una palabra (dos bytes) en memoria. Un dato es un elemento en el cual su valor permanecer� constante o variable durante la ejecuci�n del programa. Un dato puede ser inicializado o no inicializado (valor establecido antes que se ejecute el programa). Un elemento puede contener varios valores num�ricos, cada valor separado por una coma (El ensamblador define estos valores en bytes o palabras contiguas). El formato general para la definici�n de datos es:


Nombre DB Expresi�n
Nombre DW Expresi�n
Nombre DW Expresi�n, Expresi�n, Expresi�n,... Expresi�n
Nombre DB Expresi�n, Expresi�n, Expresi�n,... Expresi�n
Nombre.- Identificador de nombre que se va ha utilizar.
Expresi�n.- Operando que puede ser un valor num�rico el cual ser� asignado al identificador de nombre o un signo de interrogaci�n, que indicara que el elemento no ser� inicializado.

Ejemplos:

KILO DB 5
GATO DW ?
FIJO DB ?
TECLA DB 11, 23, 12, 134, 54, 34, 98, 87, 98 ;TECLA+1 = 12, TECLA+5 = 34
TECLA DW 11, 23, 12, 134, 54, 34, 98, 87, 98 ;TECLA+2 = 12, TECLA+10 = 34
HOJA DW 34231212H

Instrucciones PUSH y POP
Estas instrucciones almacenan datos y sacan datos de la pila. La instrucci�n PUSH transfiere 2 bytes de datos de una localidad de memoria o de un registro (AX, BX, CX, DX) a la pila. La instrucci�n POP saca 2 byte de datos de la pila y los env�a a una localidad de memoria o un registro (AX, BX, CX, DX). Formato general:
POP REGISTRO
POP LOCALIDA
PUSH REGISTRO
POP LOCALIDA

Ejemplos:

PUSH AX ;Introduce a la pila el contenido del AX
PUSH BX ;Introduce a la pila el contenido del BX
PUSH CX ;Introduce a la pila el contenido del CX
PUSH DX ;Introduce a la pila el contenido del DX
PUSH HOLA ;Introduce a la pila el contenido de HOLA
POP AX ;Saca el ultimo elemento que se encuentra en la pila al AX
POP BX ;Saca el ultimo elemento que se encuentra en la pila al BX
POP CX ;Saca el ultimo elemento que se encuentra en la pila al CX
POP DX ;Saca el ultimo elemento que se encuentra en la pila al DX
POP HOLA ;Saca el ultimo elemento que se encuentra en la pila al HOLA

Instrucci�n LEA
Carga a un registro de 16 bits (AX, BX, CX, DX) el desplazamiento de cualquier variable declarada. Formato general:

LEA Registro, Variable
Ejemplos:
LEA AX, HOLA ;Transfiere al AX el desplazamiento de HOLA
LEA BX, SILLA ;Transfiere al BX el desplazamiento de SILLA
LEA CX, JOTO ;Transfiere al CX el desplazamiento de JOTO
LEA DX, CALC ;Transfiere al DX el desplazamiento de CALC
Instrucciones aritm�ticas y l�gicas

Al ejecutarse la mayor�a de las instrucciones aritm�ticas y l�gicas se cambia el contenido de algunos bits del registro de banderas, sirven para indicarnos como fue el resultado de esa operaci�n (gracias a Dios).
Por ejemplo, nos dicen si fue cero el resultado, si tiene signo positivo o negativo el resultado, si hubo acarreo, si el resultado no cupo en un registro (Desbordamiento), etc.

Instrucci�n INC
Esta instrucci�n suma uno a un registro o a una localidad de memoria, y guarda el resultado en el mismo registro o localidad de memoria.

INC Registro
INC Localidad
Ejemplos:

INC BL ;Incrementa en uno el contenido de BL, y lo guarda en BL
INC AX ;Incrementa en uno el contenido de AX, y lo guarda en AX
INC HOLA ;Incrementa en uno el contenido de HOLA, y lo guarda en HOLA
INC CX ;Incrementa en uno el contenido de CX, y lo guarda en CX

Instrucci�n DEC
Esta instrucci�n resta uno a un registro o a una localidad de memoria, y guarda el resultado en el mismo registro o localidad de memoria.

DEC Registro
DEC Localidad

Ejemplos:
DEC DX ;Decrementa en uno el contenido de DX, y lo guarda en DX
DEC BX ;Decrementa en uno el contenido de BX, y lo guarda en BX
DEC SILLA ;Decrementa en uno el contenido de SILLA, y lo guarda en SILLA
DEC AH ;Decrementa en uno el contenido de AH, y lo guarda en AH

Instrucci�n ADD
Suma dos operandos, el operando uno y el operando dos, y guarda el resultado en el operando uno. El tama�o del operando uno tiene que ser mayor o igual al tama�o del operando dos.

ADD Operando 1, Operando 2

Ejemplos:
ADD AX,BX ;Suma el contenido de BX y AX y lo guarda en AX
ADD BX,DX ;Suma el contenido de DX y BX y lo guarda en BX
ADD HOLA,CX ;Suma el contenido de CX y HOLA y lo guarda en HOLA
ADD CX,HOLA ;Suma el contenido de HOLA y CX y lo guarda en AX
ADD BL,23H ;Suma el contenido de BL y 23H y lo guarda en BL
Instrucci�n SUB
Resta dos operandos, �l operando uno y �l operando dos, y guarda el resultado en �l operando uno. El tama�o del operando uno tiene que ser mayor o igual al tama�o del operando dos.

SUB Operando 1, Operando 2
Ejemplos:

SUB AX,BX ;Resta el contenido de BX y AX y lo guarda en AX
SUB BX,DX ;Resta el contenido de DX y BX y lo guarda en BX
SUB HOLA,CX ;Resta el contenido de CX y HOLA y lo guarda en HOLA
SUB CX,HOLA ;Resta el contenido de HOLA y CX y lo guarda en AX
SUB BL,23H ;Resta el contenido de BL y 23H y lo guarda en BL

Instrucci�n CMP
La instrucci�n CMP compara el valor entre el operando 1 y el operando 2. Esta instrucci�n hace una resta entre el operando 1 y el operando 2, y solo afecta al registro de banderas, no se guarda el resultado de la resta en el operando 1.

CMP Operando 1, Operando 2
Ejemplos:

CMP CL,BL ;Resta a CL el BL, solo cambiaran el contenido del registro de banderas
CMP AX,BX ;Resta a AX el BX, solo cambiaran el contenido del registro de banderas
CMP DH,10D ;Resta a DH el 10D, solo cambiaran el contenido del registro de banderas
CMP BX,344H ;Resta a BX el 344H, solo cambiaran el contenido del registro de banderas
CMP HOLA,DX ;Resta a HOLA el DX, solo cambiaran el contenido del registro de banderas
CMP HOLA,89H ;Resta a HOLA el 89H, solo cambiaran el contenido del registro de banderas


Instrucciones l�gicas b�sicas

Instrucci�n AND
Realiza una operaci�n and entre el operando 1 y el operando 2, y guarda el resultado en el operando 1.

AND Operando 1, Operando 2

Ejemplos:

AND CL,BL ;Realiza la operaci�n and entre el CL el BL, y guarda el resultado en CL
AND AX,BX ;Realiza la operaci�n and entre el AX el BX, y guarda el resultado en AX
AND DH,10D ;Realiza la operaci�n and entre el DH el 10D, y guarda el resultado en DH
AND BX,344H ;Realiza la operaci�n and entre el BX el 344H, y guarda el resultado en BX
AND HOLA,DX ;Realiza la operaci�n and entre el HOLA el DX, y guarda el resultado en HOLA
AND HOLA,89H ;Realiza la operaci�n and entre el HOLA el 89H, y guarda el resultado en HOLA
Instrucci�n OR
Realiza una operaci�n or entre el operando 1 y el operando 2, y guarda el resultado en el operando 1.

OR Operando 1, Operando 2

Ejemplos:
OR CL,BL ;Realiza la operaci�n or entre el CL el BL, y guarda el resultado en CL
OR AX,BX ;Realiza la operaci�n or entre el AX el BX, y guarda el resultado en AX
OR DH,10D ;Realiza la operaci�n or entre el DH el 10D, y guarda el resultado en DH
OR BX,344H ;Realiza la operaci�n or entre el BX el 344H, y guarda el resultado en BX
OR HOLA,DX ;Realiza la operaci�n or entre el HOLA el DX, y guarda el resultado en HOLA
OR HOLA,89H ;Realiza la operaci�n or entre el HOLA el 89H, y guarda el resultado en HOLA

Instrucci�n XOR
Realiza una operaci�n or entre el operando 1 y el operando 2, y guarda el resultado en el operando 1.

XOR Operando 1, Operando 2
Ejemplos:
XOR CL,BL ;Realiza la operaci�n or exclusivo entre CL el BL, y guarda el resultado en CL
XOR AX,BX ;Realiza la operaci�n or exclusivo entre AX el BX, y guarda el resultado en AX
XOR DH,10D ;Realiza la operaci�n or exclusivo entre DH el 10D, y guarda el resultado en DH
XOR BX,344H ;Realiza la operaci�n or exclusivo entre BX el 344H, y guarda el resultado en BX
XOR HOLA,DX ;Realiza la operaci�n or exclusivo entre HOLA el DX, y guarda el resultado en HOLA
XOR HOLA,89H ;Realiza la operaci�n or exclusivo entre HOLA el 89H, y lo guarda en HOLA

Instrucci�n NOT
Esta instrucci�n saca el complemento a uno a un registro o a una localidad de memoria, lo guarda en la misma localidad o registro.

NOT Registro
NOT Localidad

Ejemplos:
NOT BL ;Saca el complemento a uno del contenido de BL, y lo guarda en BL
NOT AX ;Saca el complemento a uno del contenido de AX, y lo guarda en AX
NOT HOLA ;Saca el complemento a uno del contenido de HOLA, y lo guarda en HOLA
NOT CX ;Saca el complemento a uno del contenido de CX, y lo guarda en CX

Instrucci�n NEG
Esta instrucci�n saca el complemento a DOS a un registro o a una localidad de memoria, lo guarda en la misma localidad o registro.

NEG Registro
NEG Localidad
Ejemplos:

NEG BL ;Saca el complemento a dos del contenido de BL, y lo guarda en BL
NEG AX ;Saca el complemento a dos del contenido de AX, y lo guarda en AX
NEG HOLA ;Saca el complemento a dos del contenido de HOLA, y lo guarda en HOLA
NEG CX ;Saca el complemento a dos del contenido de CX, y lo guarda en CX

Instrucci�n ROR
Es una instrucci�n para rotar a la derecha los 16 bits contenidos en un registro o una localidad de memoria. Los bits van dando recorri�ndose a la derecha, el bit que esta al final del registro o localidad pasa al inicio del registro o localidad.

ROR Registro
ROR Localidad

Ejemplos:

ROR BL,5 ;Rota 5 lugares a la derecha el contenido de BL, y lo guarda en BL
ROR AX,CL ;Rota el contenido de CL lugares, a la derecha el contenido de AX, y lo guarda en AX
ROR HOLA,3 ;Rota 3 lugares a la derecha el contenido de HOLA, y lo guarda en HOLA
ROR CX,AH ;Rota el contenido de AH lugares, a la derecha el contenido de CX, y lo guarda en CX

Instrucci�n ROL
Es una instrucci�n para rotar a la izquierda los 16 bits contenidos en un registro o una localidad de memoria. Los bits van dando recorri�ndose a la izquierda, el bit que esta al inicio del registro o localidad pasa al final del registro o localidad.

ROL Registro
ROL Localidad
Ejemplos:

ROL BL,5 ;Rota 5 lugares a la izquierda el contenido de BL, y lo guarda en BL
ROL AX,CL ;Rota el contenido de CL lugares, a la izquierda el contenido de AX, y lo guarda n AX
ROL HOLA,3 ;Rota 3 lugares a la izquierda el contenido de HOLA, y lo guarda en HOLA
ROL CX,AH ;Rota el contenido de AH lugares a la izquierda, el contenido de CX, y lo guarda n CX


Instrucciones para control de programas

Instrucciones de brinco incondicional JMP
La instrucci�n de brinco incondicional JMP es un tipo de instrucciones que se dise�o para el control de programas, permite saltar desde una parte del programa hasta otra parte. Al ejecutarse el programa y encuentra una instrucci�n de salto incondicional, transfiere la ejecuci�n del programa en donde se encuentre una etiqueta determinada, puede ser hacia adelante o hacia tras del programa.
Ejemplo:

INICIO: MOV AX,1
ADD AX,BX
JMP SIGUE
SIGUE: MOV BX,AX
JMP INICIO

Instrucciones de brinco condicional
Las instrucciones de brinco condicional JCXZ, JB, JAE, JBE, JNZ, JA, JZ son un tipo de instrucciones que se dise�aron para el control de programas, permite saltar desde una parte del programa hasta otra parte. Una instrucci�n de brinco condicional le permite al programador tomar decisiones basadas en pruebas num�ricas. Los resultados de estas pruebas num�ricas se conservan en los bits de bandera.
Las instrucciones para brinco condicional prueban los siguientes bits de bandera: signo (S), cero (Z), acarreo (C), paridad (P), y sobreflujo (O). Si la condici�n que se prueba es verdadera se transfiere el control del programa. Las instrucciones de salto condicional son:

JCXZ ;Salta si el registro CX es igual a cero.
JB ;Salta si esta por abajo ;Salta si el resultado anterior fue menor que cero
JAE ;Salta si esta por arriba o es igual a ;Salta si el resultado anterior fue mayor o igual a cero
JA ;Salta si esta por arriba ;Salta si el resultado anterior fue mayor
JBE ;Salta si esta por abajo o es igual a ;Salta si el resultado anterior fue menor o igual a cero
JNZ ;Salta si no es igual a cero ;Salta si el resultado anterior no fue igual a cero
JZ ;Salta si es igual a cero ;Salta si el resultado anterior fue igual a cero

Ejemplo:

MOV AX,10D ;Mueve un 10D al AX
INICIO: ;Etiqueta
ADD AX,1 ;Suma un 1D al AX
CMP AX,12
JB INICIO ;Brinca si el CX no es igual a cero

Ejemplo:

MOV AX,0 ;Mueve un cero al AX
MOV CX,5 ;Mueve un 5 al CX
INICIO: ;Etiqueta
ADD AX,1 ;Suma un 1D al AX
SUB CX,1D
JNZ INICIO ;Brinca si el CX no es igual a cero

Ejemplo:

MOV CX,5 ;Mueve un 5 al CX
ADD AX,1 ;Suma un 1D al AX
SUB CX,1D ;Resta 1D a CX
JZ INICIO ;Brinca a INICIO si el resultado anterior fue cero
SUB AX,2H ;Resta 2D a AX
INICIO: ;Etiqueta

Instrucci�n LOOP
Esta instrucci�n es una combinaci�n de una instrucci�n de decremento en CX y de un brinco condicional. La instrucci�n LOOP decrementa en uno a CX y si CX no es igual a cero todav�a salta

Ejemplo:

MOV AX,0 ;Mueve un cero al AX
MOV CX,5 ;Mueve un 5 al CX
INICIO: ;Etiqueta
ADD AX,1 ;Suma un 1D al AX
LOOP INICIO ;Brinca a LOOP si el CX no es igual a cero



Interface b�sica de E/S

Un microprocesador es de gran valor para resolver problemas, pero si no se puede comunicar con el mundo exterior su valor es escaso.

Instrucciones para E/S
La instrucci�n OUT transfiere informaci�n a un dispositivo de E/S y la instrucci�n IN lee informaci�n de un dispositivo de E/S, estas instrucciones sirven para las versiones del 8088.
Las instrucciones IN y OUT transfieren datos entre un dispositivo E/S y el acumulador del microprocesador (AX, AH, AL). La direcci�n de E/S se almacena en el registro DX como direcci�n de 16 bits. La direcci�n de E/S de 16 bits en DX, se llama direcci�n variable, porque se almacena en un registro que puede variar su contenido.

Ejemplos:

IN AL,DX Lee en AL un byte de la direcci�n de E/S direccionada por DX.
IN AX,DX Lee en AX una palabra de la direcci�n de E/S direccionada por DX.
OUT DX,AL Escribe un byte de AL en la direcci�n de E/S direccionada por DX.
OUT DX,AL Escribe una palabra de AX en la direcci�n de E/S direccionada por DX.

E/S aislado y mapeado en memoria

Hay dos m�todos completamente distintos para hacer la interface del espacio de E/S: aislado y mapeado en memoria.
E/S aislado
La t�cnica m�s com�n para transferencia de E/S utilizada en los microprocesadores INTEL es la de E/S aislado. La palabra aislado indica la forma en que las localidades de E/S est�n aisladas de la memoria del sistema, en un espacio separado de instrucciones de E/S. Las direcciones para el espacio de E/S aislado, llamados puertos est�n separadas de la memoria. Por eso el usuario puede ampliar la memoria sin emplear nada las direcciones de los dispositivos de E/S. Para accesar a los datos transferidos entre los dispositivos de E/S se deben emplear las instrucciones IN, OUT. Se producen se�ales separadas para el espacio en E/S que indican una operaci�n de lectura en E/S (IORC!) o una de escritura en E/S (IOWC!). Estas se�ales indican que una direcci�n del espacio de E/S aparece en el canal de direcciones, as� un dispositivo de E/S puede ser seleccionado.

Mapa de E/S de la computadora personal
En la computadora personal se usan unas direcciones de E/S para funciones especificas. El espacio de E/S entre los puertos 0000H y 3FFH, se usan para el sistema de la computadora. Los puertos de E/S entre 0400H y FFFFH suelen estar disponibles para las aplicaciones del usuario.























Decodificaci�n de la direcci�n
A fin de poder conectar un dispositivo de memoria o E/S con el microprocesador, es necesario decodificar la direcci�n en �l para que esa direcci�n sea exclusiva en el mapa de memoria. Al no tener un decodificador de direcci�n, solo se puede conectar un dispositivo de memoria o E/S con el microprocesador, lo cual lo inutilizar�a. Se decodifican las direcciones para poder manejar varios dispositivos. A todos los dispositivos les llegan las direcciones (como a los vipers o celulares), y solo uno actuara al ser su direcci�n.
El circuito integrado o conjunto de circuitos integrados que reaccionan a una direcci�n de todas las direcciones, se le conoce como decodificador de direcci�n. El decodificador de direcciones al encontrar su direcci�n habilita un dispositivo, lo habilita al mandarle una se�al de habilitaci�n (generalmente un cero l�gico), estos dispositivos pueden ser ROM, RAM, PPI, EPROM, PIC, o cualquier otro dispositivo.
.

In the meantime
why not check out the link below to get your own 20MB of free webspace?

www.fortunecity.com




 
My interests:
  • School/College



 
Favourite links
 


Email me on:
[email protected]

This page has been visited times.