Академический Документы
Профессиональный Документы
Культура Документы
Unidad De Control: Coordina la operacin de todas las unidades para mantener el sistema en
sincronizacin adecuada y de control para W/R y E/S.
Bus datos: Mueve datos entre procesador y memoria o entre procesador y dispositivos E/S o
memoria y dispositivos E/S.
Bus direcciones: indica la direccin de memoria o puerto sobre la que se quiere leer o escribir.
Bus de control: Habilita el dispositivo sobre el que se va a leer o escribir, y las operaciones que
har.
----------------------------------------------------------
Procesador
Instrucciones de procesador
Las primeras computadoras eran programas con secuencias binarias. (baterias con interruptores,
y luego secuencias de bits presionando teclas del teclado hexadecimal)
Lenguaje ensamblador, las operaciones del procesador son codificadas mediante secuencias de
caracteres en lugar de secuencias binarias. Las palabras mnemnicos son el nombre de la
operacin o una abreviatura de ste.
Alto nivel, las instrucciones en esos lenguajes se escriben de una forma ms entendible por las
personas ya que se parecen al lenguaje que empleamos en nuestra vida diariaMEMORIA LINEAL
-------------------------------------------------
MEMORIA SEGMENTADA
-------------------------------------------------------------------------------------------------------------------
Los segmentos no son divisiones fsicas. Un segmento es una ventana lgica a travs de la cual el
programa visualiza porciones de la memoria.
Los segmentos empiezan cada 16 bytes. Como a un bloque de memoria de 16 bytes se le conoce
como prrafo, los segmentos empiezan a cada prrafo.
Los segmentos pueden ser tan pequeos como 16 bytes y tan grandes como 64 KB = 65,536
bytes.
Los segmentos pueden traslaparse. Esto ocurre cuando un segmento es mayor a 16 bytes.
Al cargar un programa a memoria, ste ocupa uno o ms segmentos. Los segmentos asignados a
un programa no tienen que estar uno junto al otro aunque frecuentemente lo estn.
A la descripcin del nmero, tamao y uso de los registros de un microprocesador se le conoce
como el modelo de programacin del microprocesador.
AX, AH, AL (Acumulador): a menudo conserva el resultado temporal despus de una operacin
aritmtica o lgica.
BX, BH, BL (Base): Se utiliza para guardar la direccin base de listas de datos en la memoria.
CX, CH, CL (Contador): Contiene el conteo para ciertas instrucciones de corrimientos y rotaciones,
de iteraciones en el ciclo loop y operaciones repetidas de cadenas.
SP (Apuntador de pila): Contiene el desplazamiento con respecto al segmento de pila del tope de
la pila del programa.
REGISTROS DE SEGMENTOS
CS (Cdigo): Tiene la direccin lgica del segmento en que se encuentra el cdigo de un programa.
DS (Datos): Tiene la direccin lgica del segmento en que se encuentran los datos estticos de un
programa.
ES (Extra): Este registro tambin tiene la direccin lgica de uno de los segmentos en que se
encuentran los datos estticos de un programa. Este registro se utiliza en ciertas operaciones del
microprocesador para el manejo de cadenas.
SS (Pila): Tiene la direccin lgica del segmento en que se encuentran la pila del sistema. La pila no
puede ser mayor a un segmento.
***Para calcular una direccin efectiva o real de un dato o una instruccin, el microprocesador
toma de uno de los registros de segmento el valor del segmento y de otro registro el valor del
desplazamiento:***
REGISTRO DE BANDERAS
C (Acarreo): Indica un acarreo despus de una suma o un prstamo despus de una resta.
La bandera de acarreo tambin indica condiciones de error en ciertos programas y
procedimientos.
P (Paridad): Es un cero para una paridad impar y un 1 para una paridad par. La paridad es
un conteo de unos expresada como un nmero par e impar.
A (Acarreo auxiliar): Indica un acarreo despus de una suma o un prstamo despus de
una resta del bit 3 al bit 4 en el resultado. Esta bandera slo se utiliza en las operaciones
daa y das para ajustar el valor de AL despus de una suma o resta BCD.
Z (Cero): Indica que el resultado de una operacin aritmtica o lgica es cero. Si Z = 1, el
resultado es cero y si Z = 0, el resultado no es cero.
S (Signo): Indica el signo aritmtico del resultado despus de una suma o una resta. Si S =
1, el resultado es negativo. Si S = 0, el resultado es positivo. Se debe tener en cuenta que
el valor del bit ms significativo aparece en el bit de signo en cualquier instruccin que
afecte las banderas.
O (Sobreflujo): Es una condicin que ocurre cuando se suman o se restan nmeros con
signo. Un sobreflujo indica que el resultado ha excedido la capacidad de la mquina.
Las otras tres banderas se utilizan para controlar ciertas caractersticas del microprocesador. Esas
tres banderas y su uso son:
Programas en ensamblador.
operando: Especifica al ensamblador qu valor, registro, localidad de memoria, etc., asociar con
cada instruccin.
comentario: cualquier secuencia de caracteres precedidos por un punto y coma(;) y que termina
con el fin de linea.
Cdigo de inicio.
Cdigo de terminacin
Cdigo de inicio: Declara los nombre de los segmentos en los que se almacenar el cdigo del
programa, datos y la pila. Estable el modelo de memoria bajo el que se ensamblar el programa y
el tamao de la pila Este cdigo consta de un conjunto de directivas.
ideal: le dice al turbo assembler que simplefique la sintaxis del cdigo inicial de un programa.
dosseg: directiva que forma parte del modo ideal, le instruye al ensamblador que nombre y
ordene los segmentos del programa de la misma forma en que lo hacen los compiladores de alto
nivel.
model: debe ir despus de la directiva dosseg, selecciona uno de los 6 modos de turbo assembler
dependiendo del tamao que tiene el cdigo y los datos. Estos modos llamados modelos de
memoria.
Modelo pequeo(tiny): el cdigo, los datos y la pila deben estar en un solo segmento(maximo 64
KB). El cdigo ejecutable producido es el ms pequeo y rpido.
Modelo pequeo(small):El cdigo tiene su propio segmento y los datos y la pila estan en otro
segmento(maximo 64 KB por segmento).
Modelo medio(medium): El cdigo del programa puede ocupar varios segmentos, pero los datos y
la pila ocupan un solo segmento.(Cdigo puede exceder 64 KB pero los datos y la pila no). Se usa
cuando el cdigo es extenso y pocos datos.
Modelo compacto(compact): El cdigo se limita a un segmento, los datos pueden ocupar varios
segmentos aunque el total de las variables estticas(constantes) no pueden exceder los 64 KB.
Modelo usando cuando el programa es pequeo, y muchos datos.
Modelo grande(large): Cdigo y datos pueden ocupar varios segmentos. Usado cuando el cdigo
es extenso, y muchos datos.
Modelo extenso (huge): Igual que el modelo grande, slo que las variables estticas si pueden
exceder los 64 KB. Las variables estticas en forma individual no puede exeder los 64 KB.
stack: Directiva que reserva espacio de memoria para la pila del programa.
Reglas de equ y =:
equ permite darle nombre a constantes numricas, expresiones y cadenas. = solo le da nombre
a constantes numricas y expresiones.
No se le puede cambiar el valor a un smbolo declarado con equ. A un smbolo declarado con =
se le puede cambiar su valor tantas veces como se desee.
equ y = se pueden poner en cualquier parte del programa, pero es preferible colocarlas al
principio ya que son ms visibles.
expresiones declarads con = se evaluan inmediatamente, declaradas con equ se evaluan hasta
que el smbolo se usa.
Se declaran en el segmento de datos, esta seccin inicia con la directiva dataseg. Indica al turbo
assembler que almacene las variables en el segmento de datos.
Ejemplo...
variable db = 0
variable db = ?