Вы находитесь на странице: 1из 6

Procesador: ejecuta instrucciones almacenadas en memoria.

Memoria: conjunto o arreglo de registros donde almacenan instrucciones y datos.

E/S : Empleado por la PC para recibir o enviar datos al mundo exterior.

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

CPU: Unidad de procesamiento central

IP: Apunta a la siguiente instruccin a ser ejecutada.

ID: Decodifica las instrucciones.

*La ALU haga sus operaciones.

*Almacene resultados en ACC

*Almacena en registro CCR

Instrucciones de procesador

Contiene el juego de instrucciones que dice al procesador que programa ejecutar.

INstrucciones se forman por operacin y operandos.

Operacin: Lo que debe realizarse.

Operandos: Elementos sobres los que trabajar.

Cada operacin esta codificada por un cdigo de la operacin.

Lenguajes mquina, ensamblador, y de alto nivel.

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

La memoria es como un arreglo lineal de localidades de memoria de un byte en el que las


direcciones de las localidades de memoria son los ndices de los elementos del arreglo. Se usa por
lo general en procesadores que no exceden los 64 KB.

-------------------------------------------------

MEMORIA SEGMENTADA

La memoria esta dividida en segmentos de memoria y a cada segmento lo visualiza como un


arreglo lineal de localidades de memoria de un byte. Cada segmento tiene una direccin (direccin
de segmento) y un ndice (desplazamiento). Se usa para procesadores con mas de 64 KB (el 8086
por ejemplo).

SEGMENTACION DE LA MEMORIA EN EL 8086

El procesador empleado en las primeras computadoras permitia direccionar 1MB = 2^20,


actualmente ya permiten 16 MB = 2^24 o hasta 4 GB = 2^32 por ello lo nuevos procesadores 8086
tienen dos maneras de usarse para mantener compatibilidad con el primero:

1. Modo real: Imita al procesador 8086


2. Modo protegido: explota todo el poder del procesador

MSDOS con el fin de mantener compatibilidad usa el modo real.

-------------------------------------------------------------------------------------------------------------------

Los microprocesadores 8086 miran la memoria de la siguiente manera:

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.

Hay hasta 65,536 segmentos (1,048,576/16 = 65,536).

El primer segmento es el segmento 0, el siguiente es el segmento 1, etc. El nmero del segmento


se conoce como la direccin del segmento.

La direccin real, tambin llamada direccin efectiva, en la que empieza un segmento se


obtiene multiplicando la direccin del segmento por 16.

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.

REGISTROS DE PROPOSITO GENERAL

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.

DX, DH, DL (Datos): Contiene la parte ms significativa de un producto despus de una


multiplicacin; la parte ms significativa del dividendo antes de la divisin.

REGISTROS APUNTADORES Y DE NDICES

SP (Apuntador de pila): Contiene el desplazamiento con respecto al segmento de pila del tope de
la pila del programa.

BP (Apuntador de base): Contiene el desplazamiento con respecto al segmento de pila de datos


almacenados en la pila de un programa.

SI (ndice fuente): Contiene el desplazamiento con respecto al segmento de datos de un elemento


de un arreglo o cadena.

DI (ndice destino): Contiene el desplazamiento con respecto al segmento extra de un elemento de


una cadena o arreglo.

IP (Apuntador de instrucciones): Contiene siempre el desplazamiento con respecto al segmento


de cdigo de la localidad de memoria que contiene la siguiente instruccin que va a ejecutar el
microprocesador.

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:***

En el clculo de la direccin de una instruccin: valor de segmento: CS, desplazamiento: IP


En el calculo de direccin de un dato: valor de segm: DS, desplazamiento: BX, DI, SI o un
numero de 16 bits.
En algunas instrucciones para cadenas (para calculo de direccin de los datos): valor de
segmento: ES, desplazamiento: DI.
En el clculo de la direccin de los datos almacenados en la pila: valor de segm SS,
desplazamiento SP o BP

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:

T (Trampa): Activa, si se pone a 1, o desactiva, si se pone a 0, el modo de ejecucin paso a


paso.
I (Interrupcin): Habilita, si se pone a 1, o deshabilita, si se pone a 0, las interrupciones al
microprocesador.
D (Direccin): Controla la seleccin de autoincremento o autodecremento de los registros
DI o SI durante las instrucciones de cadenas y arreglos. Si D = 1 hay autodecremento en
los registros y si D = 0 hay autoincremento.

Programas en ensamblador.

Lenguaje ensamblador: lenguaje que utiliza smbolos en lugar de instrucciones codificadas en


lenguaje mquina. Permite referencia a localidades de memorias por nombres simblicos. El
cdigo es traducido al cdigo mquina de un procesador, mediante ensamblador.
Programa en ensamblador: Secuencia de caracteres almacenada en uno o ms archivos que sern
traducidos por el ensamblador al lenguaje mquina de un procesador.

etiqueta : permite darle nombre simblico a nmeros, cadenas o localidades de memoria.

instruccin: mnemnico de una instruccin del procesador.

directiva: Controla aspecto de como opera el ensamblador. instruccin para el 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.

Normalmente podemos considerar que un programa en ensamblador est formado de las


siguientes secciones:

Cdigo de inicio.

Declaracin de constantes simblicas

Variables del programa

Cdigo del programa

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.

Declaracin de constantes simblicas

Constantes simblicas son identificadores que le asociamos a constantes(numricas o cadenas).

Existen dos formas de declara constantes simblicas, con la directiva equ y =.

Reglas de equ y =:

Constantes no son variables. No se guardan en el segmento de datos.

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.

Variables del programa

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.

db = definir variable tipo byte.

dw = define variabel tipo palabra

dd = define palabra tipo palabra doble

dq = define una variable tipo palabra cudruple

Ejemplo...

variable db = 0

Si la variable no se inicializa, se pone un signo de interrogacin:

variable db = ?

Вам также может понравиться