Professional Documents
Culture Documents
y Electrnica
LABORATORIO No. 1
ARQUITECTURA DEL 8086 DE INTEL Y LENGUAJE ENSAMBLADOR
OBJETIVOS:
-
FUNDAMENTO TEORICO
INTRODUCCIN
En junio de 1978 Intel lanz al mercado el primer microprocesador de 16 bits: el 8086. Al
ser el 8086 un microprocesador de 16 bits esto significa que cuenta con un bus de datos
de 16 bits y que trabaja con registros internos de este mismo tamao. Otra de las
caractersticas de este microprocesador es su capacidad de direccionar hasta 1Mb de
memoria.
La importancia del 8086 se debe a que fue elegido por IBM para desarrollar el Personal
Computer, que fue tomado como estndar por casi todos los fabricantes de ordenadores.
Posteriormente Intel fabric sucesivamente el 80186, el 80286, el 80386, el i486 y los
Pentiums, manteniendo la compatibilidad software con los anteriores, es por ello la
denominacin x86 a esta familia Intel.
EL MICROPROCESADOR
En el corazn del sistema computacional basado en microprocesador est el circuito
integrado del microprocesador. Este elemento, que algunas veces es denominado como
CPU (Unidad Central de Proceso), es el elemento de control en un sistema
computacional. El microprocesador controla la memoria y la E/S a travs de una serie de
conexiones llamadas buses. Los buses seleccionan un dispositivo de E/S (Entrada/Salida)
o de memoria, transfieren datos entre un dispositivo de E/S o la memoria y el
microprocesador, y controlan el sistema E/S y de memoria.
Las unidades indicadas cuentan con distintos bloques distintivos, tal como puede
observarse en la siguiente figura:
U2
21
22
24
18
31
30
23
17
33
19
RESET
AD[0..15]
READY
A[16..19]
INTA/QS1
INTR
ALE/QS0
HOLD/GT1
BHE
HLDA/GT0 DT/R/S1
TEST
DEN/S2
NMI
RD
MN/MX
WR/LOCK
CLK
M/IO/S0
25
34
27
26
32
29
28
U1
6
5
7
SCL
SDA
WP
A1
AT24C1024
8086
13)
14)
15)
16)
17)
18)
19)
20)
21)
22)
23)
24)
25)
Las seales M/IO, /WR, /INTA, ALE, DT/R, /DEN, HOLD y HLDA son exclusivas del modo
mnimo. Las seales S0-S2, RQ/GT0, RQ/GT1, /LOCK y QS0-QS1 solo estn disponibles
en modo mximo
LENGUAJE ENSAMBLADOR
Estructura de un programa ensamblador
Un programa fuente en ensamblador contiene dos tipos de sentencias: las instrucciones
y las directivas. Las instrucciones se aplican en tiempo de ejecucin, pero las directivas
slo son utilizadas durante el ensamblaje.
1) Formato de una sentencia de instruccin:
[etiqueta] nombre_instruccin [operandos] ;[comentarios]
Los corchetes, como es normal al explicar instrucciones en informtica, indican que lo
especificado entre ellos es opcional, dependiendo de la situacin que se trate.
Campo de etiqueta: Es el nombre simblico de la primera posicin de una instruccin,
puntero o dato. Consta de hasta 31 caracteres que pueden ser las letras de la A a la Z, los
nmeros del 0 al 9 y algunos caracteres especiales como @, _, . y $. Reglas:
Si se utiliza el punto ., ste no debe colocarse como primer carcter de la
etiqueta. El primer carcter tampoco puede ser un dgito.
No se pueden utilizar los nombres de instrucciones o registros como nombres de
etiquetas.
Las etiquetas son de tipo NEAR cuando el campo de etiqueta finaliza con dos
puntos (:), quiere esto decir que la llamada est dentro del mismo segmento de
cdigo (llamadas intrasegmento) y el procesador slo carga el puntero de
instrucciones IP.
Las etiquetas son de tipo FAR si el campo de etiqueta no termina con los dos
puntos (:). En estas etiquetas la instruccin a la que apunta no se encuentra en el
mismo segmento de cdigo sino en otro. Cuando es referenciada en una
transferencia de control se carga el puntero de instrucciones IP y el segmento de
cdigo CS (llamadas intersegmento).
Campo de nombre: Contiene el mnemnico de las instrucciones (Ej. MOV, ADD, etc) o
bien una directiva (Ej. EQU, DB, DW, etc) de las que veremos ms adelante.
Campo de operandos: Indica cuales son los datos implicados en la operacin. Puede
haber 0, 1 2; en el caso de que sean dos al 1 se le llama destino y al 2 (separado por
una coma) fuente.
MOV AX, [DI]
Campo de comentarios: Cuando en una lnea hay un punto y coma (;) todo lo que sigue
en la lnea es un comentario, resulta de gran utilidad para realizar futuras modificaciones
al mismo.
DW 2000
DB
08
DD 12345678h
Con el operando DUP pueden definirse estructuras repetitivas. Por ejemplo, para asignar
100 bytes a cero y 25 palabras de contenido indefinido (no importa lo que el ensamblador
asigne):
ceros DB 100 DUP (0)
matriz DW 25 DUP (?)
Se admiten tambin los anidamientos. El siguiente ejemplo crea una tabla de bytes
donde se repite 50 veces la secuencia 1, 2, 3, 7, 7:
tabla DB 50 DUP (1, 2, 3, 2 DUP (7))
Directivas de definicin de smbolos:
EQU (EQUivalence): Asigna el valor de una expresin a un nombre simblico fijo:
olimpiadas EQU
1992
INFORME FINAL
Ejercicio:
Desarrollar un programa en lenguaje ensamblador para el microprocesador 8086 que
calcule el promedio ponderado de 4 notas, cada una con diferente peso.
El programa debe contar con ingreso de datos por teclado (notas y pesos) y mostrar
resultados en consola.
Presentar en el informe final lo siguiente:
1) Fundamento terico breve, el cual debe contener: Introduccin, Concepto de
Registros de las 2 unidades principales del Microprocesador 8086, Concepto de
Interrupciones.
2) Algoritmo seguido para la solucin del ejercicio.
3) Alcances de la solucin dada, por ejemplo, si su programa calcula el promedio
considerando decimales o no.
4) Desarrollo del programa del ejercicio.
5) Indique un breve resumen de las Instrucciones e Interrupciones usadas.
6) Capturas de pantalla de los resultados obtenidos en el Emu 8086.
7) Conclusiones y Observaciones.
Observacin:
Para el uso del Emu8086, elegir la plantilla COM, tal como se muestra en la siguiente
figura: