Vous êtes sur la page 1sur 18

UNIVERSIDAD TCNICA DE

AMBATO
FACULTAD DE INGENIERIA EN SISTEMAS
ELECTRNICA E INDUSTRIAL
INGENIERA EN ELECTRNICA Y
COMUNICACIONES

Mdulo: Microprocesadores
Tema: Implementacin de ALU en el programa 8085
Nivel: Sexto Electrnica
Fecha de entrega: 18-08-2014
Integrantes:
Aldaz Abigail
Guangasi Alex
Chango
Christian
Jinde Juan
Docente: Ing. Ing. Crdova Patricio

ABRIL 2014 - SEPTIEMBRE 2014


AMBATO ECUADOR

I.

PORTADA

UNIVERSIDAD TCNICA DE AMBATO


Facultad de Ingeniera en Sistemas, Electrnica e Industrial
Ttulo:
Implementacin de ALU
programa 8085
Carrera:
Electrnica y Comunicaciones
rea Acadmica:
Fsica y Electrnica
Lnea de Investigacin:
Sistemas Electrnicos
Ciclo Acadmico y paralelo:
Sexto
Alumnos participantes:
Mdulo y Docente:
Patricio
II.

Microprocesadores

Ing.

en

el

Crdova

INFORME DEL PROYECTO


1. YY
2 Ttulo:
Implementacin de ALU en el programa 8085
2.1

Objetivos:

Objetivo General:
Diseo y codificacin de la unidad aritmtica lgica (ALU) en el
programa 8085
Objetivos Especficos:
Entender cmo acta los cdigos en el programa 8085 para la
ejecucin de los datos para el funcionamiento del ALU
Aplicar los conocimientos adquiridos en el clase para la
codificacin del programa para obtener el correcto funcionamiento
del ALU
Es Analizar cada etapa de la unidad aritmtica lgica para
posteriormente codificarla sin tener error alguno.
2.2
Resumen:
En el proyecto siguiente se ara nfasis en el funcionamiento y
codificacin de la unida aritmtica lgica en el programa 8085 y su
posterior implementacin, para entender como funcional el cdigo
fuente y como trabaja el programa 8085.
Unidad lgica aritmtica La ALU es la que realiza las operaciones
lgicas numricas como, sumar, restar, multiplicar y dividir, haciendo
uso de la memoria y el acumulador operaciones principales para el
clculo
de
estas,
para
realizar
las
operaciones.
El programa 8085 incluye un programa de seis registros, un
acumulador, y una bandera de registro de 16 bits; una barra del
programa, una pila y un puntero, los cuales describiremos a
continuacin.
Pero esta unidad es generalmente utilizada en circuitos de alta
complejidad, cubriendo no solo operaciones matemticas simples,

sino una gran cantidad de clculos por segundos, siendo en el caso


de los ltimos aquellos que son conocidos como Microprocesadores, y
que como hemos dicho, son el cerebro de un ordenador y te toda la
informacin que se procesa a travs de l.
2.3
Palabras clave:
ALU, registros, acumuladores, programa 8085, operaciones lgicas
2.4
Introduccin:
El programa 8085 est compuesto de unidades de control, de
aritmtica y lgica y de registros. En este experimento nos
centralizamos en la unidad de aritmtica y lgica (ALU). Su diagrama
lgico se presenta en la Figura 1. Esta lleva acabo todas las
operaciones aritmticas y lgicas de las que es capaz el
microprocesador. Es alimentada por un registro de acumulador y un
registro temporal. El microprocesador tambin tiene un registro de
status flags, que almacena las condiciones resultantes de cada
operacin que ejecuta el ALU. Este se conoce como el Status Register.
Por lo tanto, debemos tomar muy en cuenta que la codificacin del
ALU debe ser eficiente y que no tenga ningn inconveniente para su
utilizacin dentro de un sistema se operacional que es complejo y
potente. De hecho, el ALU puede tener mltiples ncleos, cada ncleo
con mltiples unidades de ejecucin, cada una de ellas con mltiples
ALU.
2.5

Materiales y Metodologa
ALU en el programa 8085

Una unidad aritmtica lgica puede realizar un conjunto de


operaciones aritmticas bsicas y un conjunto de operaciones lgicas,
a travs de lneas de seleccin.
Las cuatro etapas deben combinarse generando una operacin de
salida de cuatro bits en el dispaly de 7 o 15 segmentos en el
programa 8085. Las entrada de seleccin debern ser bien definidas
de modo que se pueda seleccionar una etapa a la ve y esta se
distingue entre las operaciones aritmticas y lgicas.
Los acarreos de entrada y salida tienen sentido nicamente en las
operaciones aritmticas. El diseo de una ALU implica el diseo de la
seccin aritmtica, la seccin lgica y la modificacin de la seccin
aritmtica para realizar las operaciones aritmticas y lgicas.
Su diagrama lgico se presenta en la Figura 1. Esta lleva acabo todas
las operaciones aritmticas y lgicas de las que es capaz el
microprocesador. Es alimentada por un registro de acumulador y un
registro temporal.

Arquitectura interna del 8085.


-Unidad de control (CU).
Esta unidad hace que ciertas conexiones entre los bloques de
microprocesador se abran o cierren para que los datos vayan a donde
sea necesario, y para que las operaciones de la Unidad Aritmticolgica se lleven a cabo.
-Unidad Aritmtico-Lgica (ALU).
La ALU realiza operaciones numricas lgicas. Utiliza informacin
almacenada en los registros, la memoria y el acumulador para llevar
a cabo las operaciones. El resultado de las operaciones siempre se
almacena en el acumulador, sobresaliendo el dato que estuviera
almacenado antes.
-Registros:
Tiene seis registros para almacenar datos de 8 bits. Se pueden
combinar para llevar a cabo algunas operaciones de 16 bits. El
programador puede utilizar estos registros para almacenar o copiar
datos en ellos mediante el uso de las instrucciones adecuadas.

-Acumulador (A).
Registro de 8 bits que forma parte de la ALU. Se utiliza para
almacenar datos de 8 bit. El resultado de cualquier operacin se
almacena en el acumulador, sobresaliendo el dato que estuviera
antes almacenado. Identificado como registro A.

-Registro de Estado (flags).


La ALU incluye cinco biestables que se actualizan despus de cada
operacin de acuerdo a las condiciones del resultado almacenado en
el acumulador y otros registros.
Tiene
una
importancia
fundamental en el proceso de
toma
de
decisiones
del
microprocesador. El estado
(activado o desactivado) de
los flags se comprueba a
travs
de
instrucciones
software.
-Contador de programa (PC).
Este registro de 16 bits es un
puntero a memoria (almacena una direccin de memoria). Las
posiciones de memoria tienen direcciones de 16 bits.
La funcin del contador de un
programa es apuntar a la
direccin de memoria donde
se encuentra la siguiente
instruccin del programa.
Cuando una instruccin se ha
cargado de la memoria, el
contador de programa se
incrementa para que apunte
a la siguiente instruccin en
memoria.
-Puntero de pila (SP).
Tambin es un registro de 16 bits utilizado como puntero de memoria.
Almacena una direccin en la memoria de lectura/escritura

denominada pila, que se utiliza cuando se hacen llamadas a


subrutinas.
-Registro de instruccin.
Este registro almacena temporalmente la instruccin del programa
que se est ejecutando en ese momento. Cada instruccin se enva
desde la memoria a este registro antes de su ejecucin.

-Registro de direccin de memoria.


Almacena la direccin en memoria, recibida desde el PC, de la
siguiente instruccin del programa.
-Decodificador de instrucciones.
Este componente toma la instruccin almacenada en el registro de
instruccin y la decodifica, pasando el resultado al generador de
seales de control,
-Generador de seales de control.
Hace que ciertas conexiones entre los bloques del microprocesador se
abran o cierren para que los datos vayan a donde sea necesario, y
para que las operaciones de ALU se lleven a cabo.
-Microprograma.
Est escrito por el diseador de chips, y le dice al microprocesador el
significado de cada instruccin para que a continuacin pueda llevar
a cabo la operacin.
Buses del sistema 8085
Cuando hablamos de buses podemos imaginar una autopista por la
que circulan coches, siendo los carriles los cables por los que circula
la informacin.
As pues, un sistema tpico utiliza una serie de buses (grupos de
cables), que transmiten nmeros binarios (un bit por cable).
Un microprocesador tpico se comunica con la memoria y otros
dispositivos (de entrada y de salida) utilizando tres buses: Bus de
direcciones, Bus de datos y Bus de Control.
-Bus de direcciones.
En el microprocesador 8085, el bus de direcciones tiene 16 cables.
Como se utiliza un cable para cada bit, las direcciones de memoria
son de 16 bits (ancho del bus). La direccin transportada alerta al

controlador de la memoria para abrir la posicin designada. Los


datos (binarios), se pueden entonces leer o escribir de esa posicin.
Con 16 bits podemos representar 2^16 nmeros diferentes.
El tamao del bus de direcciones determina el tamao de memoria
que se va a utilizar.
Para comunicarse con la memoria, el microprocesador enva una
direccin en el bus de direcciones, por ejemplo, 0000000000000011
(3 en decimal), al controlador de memoria. El controlador entonces
selecciona la posicin nmero 3 para la lectura o escritura de datos.
El bus de direcciones es unidireccional, es decir, las direcciones slo
se envan desde el microprocesador al controlador de memoria, nunca
al contrario.

-Bus de datos.
Transporta datos en forma binaria entre el microprocesador y otras
unidades externas, como la memoria.
El tamao del bus de datos determina las operaciones que se pueden
hacer. Es decir, si slo disponemos de 8 bits de ancho en el bus de
datos, el nmero ms grande que podemos manejar es 11111111
(255 en decimal). Por lo tanto, si queremos operar con datos
mayores, tenemos que dividir su representacin en trozos de 8 bits, lo
que ralentiza la ejecucin.
El bus de datos tambin lleva las instrucciones de los programas
almacenados en la memoria al microprocesador. Este bus s es
bidireccional.
-Bus de control.
Consta de varias lneas que tienen funciones especficas de
coordinacin y control de las operaciones del microprocesador.
Controla si una operacin se va a hacer en un puerto entrada/salida o
en una posicin de memoria. Tambin incluye una lnea de reloj para
temporizacin/sincronizacin, una lnea para reset, etc.
Modos de direccionamiento.
Lgicamente la mayora de las instrucciones que escribimos en
cualquier lenguaje de programacin hacen uso de datos disponibles
en algn componente del computador (registros, memoria,
dispositivos de entrada/salida...), ya sea para consultar dichos datos o
para modificarlos. Por tanto, es necesario hacer referencia a esas
fuentes de datos de manera que el microprocesador sepa sin ningn
tipo de dudas dnde tiene que acceder. En lenguaje ensamblador hay

cuatro posibles formas de referirnos a las fuentes de datos,


denominandas modos de direccionamiento:

1-Direccionamiento inmediato.
2-Direccionamiento de registros.
3-Direccionamiento directo.
4-El direccionamiento indirecto.

-Direccionamiento inmediato. En este modo de direccionamiento, los


datos se incluyen en la instruccin, de manera que se usa el dato
inmediatamente.
-Direccionamiento de registros. Los datos estn contenidos en alguno
de los registros del microprocesador.
-Direccionamiento directo.Normalmente se usa para tomar datos de
dispositivos de entrada y almacenarlos en el acumulador, o para
enviar los datos almacenados en el acumulador a un dispositivo de
salida.
-Direccionamiento indirecto. En este modo de direccionamiento no se
incluye el dato ni la direccin en que se encuentra ste, sino que se
suministra informacin de dnde se puede consultar la direccin en
que se
Operaciones lgicas y aritmticas.
Podemos realizar distintas operaciones en nuestro simulador, entre
ellas sumas, restas, incrementos y decrementos en el bloque de
operaciones aritmticas.
Para sumar dos nmeros cualesquiera solo tenemos que usar la
instruccin add, que veremos ms adelante, y es por eso que no voy
a extenderme demasiado en este apartado.
Todas estas operaciones trabajan con el acumulador as que para
entenderlo un poco mejor vemos:
o
o
o
o
o
o

in 00; Almacena en el acumulador el valor hexadecimal que


hayamos puesto en el puerto 00
mov b,a; Copia a b el valor del acumulador
in 01; almacena el contenido del puerto 01 en el acumulador
add b; suma al acumulador el valor almacenado en el registro b
out 02; muestra por el puerto 02 el valor almacenado del
acumulador
hlt; fin del programa

Con este sencillo ejemplo vemos como funcionara una suma. El


acumulador es el registro que juega el papel ms importante pero sin
embargo en programas ms elaborados tendremos que jugar con los
valores de los registros.

En las instrucciones de transferencia de datos la ejecucin no afecta a


los flags del registro de estado. Si almacenamos 00h en el
acumulador el flag Z, (Cero) no cambia.
Todas las operaciones aritmticas y lgicas se realizan con el
contenido del acumulador y los resultados se almacenan en el
acumulador. Ahora s, los flags se ven afectados, variando los valores.
La secuencia de ejecucin de un programa se puede alterar
aadiendo instrucciones de saltos, condicionales (JC, JNC, CC, CP...
etc) , en los que jugaremos con los flags, o incondicionales (JMP,
CALL).
Por ltimo os proporcionar una lista de instrucciones para que la
leis, y podis empezar vuestras andanzas por el mundillo este del
ensamblado, habr a quien no se lo parezca pero oye, yo me he
entretenido mucho haciendo esta especie de manual o como lo
quieran llamar y con que le sirva a una sola persona ya habr servido
de algo mi trabajo.

El ALU del 8085 sabe llevar a cabo dos tipos de operaciones:


Unidad de Control en el 8085
Hacen que ciertas conexiones entre los bloques de la up que abren y
cierran , generen seales dentro de ella para llevar a cabo la
instruccin que ha sido descifrada, por lo que los datos van a donde
sea necesario, y para que las operaciones de ALU ocurran.
Unidad lgica aritmtica ALU es la que realiza las operaciones lgicas
numricas como, sumar, restar, multiplicar y dividir, haciendo uso de
la memoria y el acumulador para realizar las operaciones.
Registros
El modelo 8085
incluye un programa de seis registros, un
acumulador, y una bandera de registro de 16 bits; una barra del
programa, una pila y un puntero los cuales describiremos a
continuacin: El 8085 tiene seis registros de propsito general para
almacenar datos de 8-bit, que son Identificado como B, C, D, E, H y L,
como se muestra en la figura. Se pueden combinar como pares de
registro - BC, DE y HL - para llevar a cabo algunas operaciones de 16bit. El Programador puede utilizar estos registros para almacenar o

copiar los datos en los registros mediante el uso de datos e


instrucciones.
Acumulador
El acumulador es un registro de 8 bits que es parte de la unidad
aritmtico-lgica (ALU).Este registro se utiliza para almacenar datos
de 8-bits y para realizar operaciones aritmticas y lgicas. El
resultado de una operacin se almacena en el acumulador. Los
acumuladores tambin Identificados como el registro A.
Estos indicadores tienen una importancia crtica en el proceso de
toma de decisiones de la unidad aritmtica lgica.
Las condiciones (establecer o restablecer) de las banderas se ponen a
prueba a travs del software de instrucciones. Por ejemplo, la
instruccin de jamp o de un ciclo repetitivo se aplica a cambiar la
secuencia de un programa cuando se establece una logica secuencial.
El conocimiento profundo De la bandera es esencial en la escritura de
programas en lenguaje ensamblador.

A. Aritmticas estas instrucciones llevan a cabo la funcin de sumar,


restar, incrementar o decrementar datos en los registros o en la
memoria. Algunas de las instrucciones son: ADD, ADI, SUB, SUI, DCR,
DCX, INR y INX.
B. Lgicas este grupo de instrucciones ejecuta operaciones lgicas
(booleanas) en los datos de los registros o la memoria y en las
condiciones de los flags. Algunas de sus instrucciones son: ANA,
ANI, ORA,OR, XRA y XRI.
El Status Register del 8085 es un registro de 8bits. Este almacena cada una de las
condiciones resultantes de una operacin del ALU en un bit separado. Los .status flags.
que contiene este registro son las siguientes:

Z (zero flag) . indica si el resultado es o no es cero.


CY (carry flag) . indica si hubo .carry..
S (sign flag) . indica si el resultado es positivo o negativo.
P (parity flag) . indica si la suma de unos (1) en el resultado es par o impar.
AC (auxiliary carry) . indica si se produjo un carry del bit 3 al bit 4.
FUNCIONES DE LA UNIDAD ARITMTICA LGICA

Una funcin esencial de muchas computadoras y calculadoras es la


realizacin de operaciones aritmticas. Estas operaciones se efectan
en la unidad aritmtica-lgica de una computadora, donde se
combinan compuertas lgicas y flip-flops de manera que puedan
sumar, restar, multiplicar y dividir nmeros binarios.
Estos circuitos efectan operaciones aritmticas a velocidades que
son humanamente imposibles. Comnmente, una operacin de
adicin se llevar menos de 1 microsegundo.

ALU Todas las operaciones se llevan a cabo en la unidad aritmtica


lgica de una computadora. La figura nos muestra un diagrama de
bloques que muestra los elementos principales que se incluyen en
una ALU comn. La finalidad primordial de la ALU consiste en aceptar
datos binarios que estn almacenados en la memoria y ejecutar
operaciones aritmticas con estos datos, de acuerdo con
instrucciones que provienen de la unidad de control.
2.6

Listado de Equipos y Materiales


Programa 8085

Esquemas y Funcionamiento
Cdigo visualizar enteros y decimales del 0.00 al 99.9

2.7

.org 000h
;ingreso # 1
in 00h
mov b,a
;ingreso
parte decimal
1
in 01h
mov c,a
;ingreso #2
in 02h
mov d,a
;;ingreso
parte decimal
2
;in 03h
;mov e,a
salida:
mvi a,5Ah
out 06h
mvi a,80h
out 03h
out 0Bh
mvi a,0
out 00h
out 05h
out 07h
out 08h
out 09h
out 0Ah
out 0ch
out 0dh
mvi a, 28h
out fh
mov a,b
call visual

out 01h
mov a,c
call
visualdeci
out 05h
mov a,d
call visual
out 09h
jmp 00
;
_____________
_____________
_________
;visualizar
con salto jz
visual:
cpi 0
jz cero
cpi 1
jz uno
cpi 2
jz dos
cpi 3
jz tres
cpi 4
jz cuatro
cpi 5
jz cinco
cpi 6
jz seis
cpi 7
jz siete
cpi 8
jz ocho
cpi 9
jz nueve
cpi 10
jz diez

cpi 11
jz once
cpi 12
jz doce
cpi 13
jz trece
cpi 14
jz catorce
cpi 15
jz quince
cpi 16
jz dieciseis
cpi 17
jz diecisiete
cpi 18
jz dieciocho
cpi 19
jz diecinueve
cpi 20
jz veinte
cpi 21
jz veintiuno
cpi 22
jz veintidos
cpi 23
jz veintitres
cpi 24
jz
veinticuatro
cpi 25
jz veinticinco
cpi 26
jz veintiseis
cpi 27
jz veintisiete
cpi 28
jz veintiocho
cpi 29

jz
veintinueve
cpi 30
jz treinta
cpi 31
jz treintaiuno
cpi 32
jz treintaidos
cpi 33
jz treintaitres
cpi 34
jz
treintaicuatro
cpi 35
jz
treintaicinco
cpi 36
jz treintaiseis
cpi 37
jz
treintaisiete
cpi 38
jz
treintaiocho
cpi 39
jz
treintainueve
cpi 40
jz cuarenta
cpi 41
jz
cuarentaiuno
cpi 42
jz
cuarentaidos
cpi 43
jz
cuarentaitres

cpi 44
jz
cuarentaicuat
ro
cpi 45
jz
cuarentaicinc
o
cpi 46
jz
cuarentaiseis
cpi 47
jz
cuarentaisiet
e
cpi 48
jz
cuarentaioch
o
cpi 49
jz
cuarentainue
ve
cpi 50
jz cincuenta
cpi 5
jz
cincuentaiun
o
cpi 52
jz
cincuentaidos
cpi 53
jz
cincuentaitre
s
cpi 54

jz
cincuentaicu
atro
cpi 55
jz
cincuentaicin
co
cpi 56
jz
cincuentaisei
s
cpi 57
jz
cincuentaisie
te
cpi 58
jz
cincuentaioc
ho
cpi 59
jz
cincuentainu
eve
cpi 60
jz sesenta
cpi 61
jz
secentaiuno
cpi 62
jz
secentaidos
cpi 63
jz
secentaitres
cpi 64
jz
secentaicuatr
o
cpi 65
jz
secentaicinco
cpi 66
jz
secentaiseis
cpi 67
jz
secentaisiete
cpi 68
jz
secentaiocho
cpi 69
jz
secentainuev
e

cpi 70
jz setenta
cpi 71
jz
setentaiuno
cpi 72
jz setentaidos
cpi 73
jz
setentaitres
cpi 74
jz
setentaicuatr
o
cpi 75
jz
setentaicinco
cpi 76
jz
setentaiseis
cpi 7
jz
setentaisiete
cpi 78
jz
setentaiocho
cpi 79
jz
setentainuev
e
cpi 80
jz ochenta
cpi 81
jz
ochentaiuno
cpi 82
jz
ochentaidos
cpi 83
jz
ochentaitres
cpi 84
jz
ochentaicuatr
o
cpi 85
jz
ochentaicinco
cpi 86
jz
ochentaiseis
cpi 87
jz
ochentaisiete

cpi 88
jz
ochentaiocho
cpi 89
jz
ochentainuev
e

out 00h
mvi a,77h
out 01h
mvi a,24h
out 02h
mvi a,77h
out 03h
uno:
cpi 90
mvi a,24h
jz noventa
out 00h
cpi 1
mvi a,77h
jz
out 01h
noventaiuno
mvi a,00h
cpi 2
out 02h
jz
mvi a,44h
noventaidos
out 03h
cpi 3
dos:
jz
mvi a,24h
noventaitres
out 00h
cpi 4
mvi a,77h
jz
out 01h
noventaicuatr mvi a,00h
o
out 02h
cpi 5
mvi a,3eh
jz
out 03h
noventaicinc
tres:
o
mvi a,24h
cpi 6
out 00h
jz
mvi a,77h
noventaiseis
out 01h
cpi 7
mvi a,00h
jz
out 02h
noventaisiete mvi a,6bh
cpi 8
out 03h
jz
cuatro:
noventaiocho mvi a,24h
cpi 9
out 00h
jz
mvi a,77h
noventainuev out 01h
e
mvi a,00h
ret
out 02h
;
mvi a,4dh
_____________ out 03h
________
cinco:
;mostrar en
mvi a,24h
display 15
out 00h
segmentos
mvi a,77h
primer
out 01h
numero
mvi a,00h
entero
out 02h
;mostrar del
mvi a,6bh
10 al 9
out 03h
cero:
seis:
mvi a,24h
mvi a,24h

out 00h
mvi a,77h
out 01h
mvi a,00h
out 02h
mvi a,7bh
out 03h
siete:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 02h
mvi a,46h
out 03h
ocho:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 02h
mvi a,77h
out 03h
nueve:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 01h
mvi a,4fh
out 03h
;mostrar del
10 al 19
diez:
mvi a,00h
out 00h
mvi a,44h
out 01h
mvi a,24h
out 03h
mvi a,77h
out 04h
once:
mvi a,00h
out 00h
mvi a,44h
out 01h
mvi a,00h
out 02h
mvi a,44h
out 03h

doce:
mvi a,00h
out 00h
mvi a,44h
out 01h
mvi a,00h
out 02h
mvi a,3eh
out 03h
trece:
mvi a,00h
out 00h
mvi a,44h
out 01h
mvi a,00h
out 02h
mvi a,6bh
out 03h
catorce:
mvi a,00h
out 00h
mvi a,44h
out 01h
mvi a,00h
out 02h
mvi a,4dh
out 03h
quince:
mvi a,00h
out 00h
mvi a,44h
out 01h
mvi a,00h
out 02h
mvi a,6bh
out 03h
dieciseis:
mvi a,00h
out 00h
mvi a,44h
out 01h
mvi a,00h
out 02h
mvi a,7bh
out 03h
diecisiete:
mvi a,00h
out 00h
mvi a,44h
out 01h
mvi a,00h
out 02h
mvi a,46h
out 03h

dieciocho:
mvi a,00h
out 00h
mvi a,44h
out 01h
mvi a,00h
out 02h
mvi a,77h
out 03h
diecinueve:
mvi a,00h
out 00h
mvi a,44h
out 01h
mvi a,00h
out 02h
mvi a,4fh
out 03h
; mostrar
primer
numero
entero de 20
al
29___________
_
veinte:
mvi a,00h
out 00h
mvi a,3eh
out 01h
mvi a,24h
out 02h
mvi a,77h
out 03h
veintiuno:
mvi a,00h
out 00h
mvi a,3eh
out 01h
mvi a,00h
out 02h
mvi a,44h
out 03h
veintids:
mvi a,00h
out 00h
mvi a,3eh
out 01h
mvi a,00h
out 02h
mvi a,3eh
out 03h
veintitres:
mvi a,00h

out 00h
mvi a,3eh
out 01h
mvi a,00h
out 02h
mvi a,6bh
out 03h
veinticuatro:
mvi a,00h
out 00h
mvi a,3eh
out 01h
mvi a,00h
out 02h
mvi a,4dh
out 03h
veinticinco:
mvi a,00h
out 00h
mvi a,3eh
out 01h
mvi a,00h
out 02h
mvi a,6bh
out 03h
veintiseis:
mvi a,00h
out 00h
mvi a,3eh
out 01h
mvi a,00h
out 02h
mvi a,7bh
out 03h
veintisiete:
mvi a,00h
out 00h
mvi a,3eh
out 01h
mvi a,00h
out 02h
mvi a,46h
out 03h
veintiocho:
mvi a,00h
out 00h
mvi a,3eh
out 01h
mvi a,00h
out 02h
mvi a,77h
out 03h
veintinueve:
mvi a,00h

out 00h
mvi a,3eh
out 01h
mvi a,00h
out 01h
mvi a,4fh
out 03h
;imprimir
numeros
numeros
enteros del
30 al
39----------treinta:
mvi a,00h
out 00h
mvi a,6eh
out 01h
mvi a,24h
out 02h
mvi a,77h
out 03h
treintaiuno:
mvi a,00h
out 00h
mvi a,6eh
out 01h
mvi a,00h
out 02h
mvi a,44h
out 03h
treintaidos:
mvi a,00h
out 00h
mvi a,6eh
out 01h
mvi a,00h
out 02h
mvi a,3eh
out 03h
treintaitres:
mvi a,00h
out 00h
mvi a,6eh
out 01h
mvi a,00h
out 02h
mvi a,6bh
out 03h
treintaicuatro
:
mvi a,00h
out 00h
mvi a,6eh

out 01h
mvi a,00h
out 02h
mvi a,4dh
out 03h
treintaicinco:
mvi a,00h
out 00h
mvi a,6eh
out 01h
mvi a,00h
out 02h
mvi a,6bh
out 03h
treintaiseis:
mvi a,00h
out 00h
mvi a,6eh
out 01h
mvi a,00h
out 02h
mvi a,7bh
out 03h
treintaisiete:
mvi a,00h
out 00h
mvi a,6eh
out 01h
mvi a,00h
out 02h
mvi a,46h
out 03h
treintaiocho:
mvi a,00h
out 00h
mvi a,6eh
out 01h
mvi a,00h
out 02h
mvi a,77h
out 03h
treintainueve
:
mvi a,00h
out 00h
mvi a,6eh
out 01h
mvi a,00h
out 01h
mvi a,4fh
out 03h
;Visualizar
numero
entero del 40

al 49
----------------------cuarenta:
mvi a,00h
out 00h
mvi a,4dh
out 01h
mvi a,24h
out 02h
mvi a,77h
out 03h
cuarentaiuno:
mvi a,00h
out 00h
mvi a,4dh
out 01h
mvi a,00h
out 02h
mvi a,44h
out 03h
cuarentaidos:
mvi a,00h
out 00h
mvi a,4dh
out 01h
mvi a,00h
out 02h
mvi a,3eh
out 03h
cuarentaitres
:
mvi a,00h
out 00h
mvi a,4dh
out 01h
mvi a,00h
out 02h
mvi a,6bh
out 03h
cuarentaicuat
ro:
mvi a,00h
out 00h
mvi a,4dh
out 01h
mvi a,00h
out 02h
mvi a,4dh
out 03h
cuarentaicinc
o:
mvi a,00h
out 00h

mvi a,4dh
out 01h
mvi a,00h
out 02h
mvi a,6bh
out 03h
cuarentaiseis
:
mvi a,00h
out 00h
mvi a,4dh
out 01h
mvi a,00h
out 02h
mvi a,7bh
out 03h
cuarentaisiet
e:
mvi a,00h
out 00h
mvi a,4dh
out 01h
mvi a,00h
out 02h
mvi a,46h
out 03h
cuarentaioch
o:
mvi a,00h
out 00h
mvi a,4dh
out 01h
mvi a,00h
out 02h
mvi a,77h
out 03h
cuarentainue
ve:
mvi a,00h
out 00h
mvi a,4dh
out 01h
mvi a,00h
out 01h
mvi a,4fh
out 03h
;visualizar del
cincuenta al
59
cincuenta:
mvi a,00h
out 00h
mvi a,6bh
out 01h

mvi a,24h
out 02h
mvi a,77h
out 03h
cincuentaiun
o:
mvi a,00h
out 00h
mvi a,6bh
out 01h
mvi a,00h
out 02h
mvi a,44h
out 03h
cincuentaidos
:
mvi a,00h
out 00h
mvi a,6bh
out 01h
mvi a,00h
out 02h
mvi a,3eh
out 03h
cincuentaitre
s:
mvi a,00h
out 00h
mvi a,6bh
out 01h
mvi a,00h
out 02h
mvi a,6bh
out 03h
cincuentaicu
atro:
mvi a,00h
out 00h
mvi a,6bh
out 01h
mvi a,00h
out 02h
mvi a,4dh
out 03h
cincuentaicin
co:
mvi a,00h
out 00h
mvi a,6bh
out 01h
mvi a,00h
out 02h
mvi a,6bh
out 03h

cincuentaisei
s:
mvi a,00h
out 00h
mvi a,6bh
out 01h
mvi a,00h
out 02h
mvi a,7bh
out 03h
cincuentaisie
te:
mvi a,00h
out 00h
mvi a,6bh
out 01h
mvi a,00h
out 02h
mvi a,46h
out 03h
cincuentaioc
ho:
mvi a,00h
out 00h
mvi a,6bh
out 01h
mvi a,00h
out 02h
mvi a,77h
out 03h
cincuentainu
eve:
mvi a,00h
out 00h
mvi a,6bh
out 01h
mvi a,00h
out 01h
mvi a,4fh
out 03h
; visualizar
numero
entero del 60
al 70
secenta:
mvi a,00h
out 00h
mvi a,7bh
out 01h
mvi a,24h
out 02h
mvi a,77h
out 03h
secentaiuno:

mvi a,00h
out 00h
mvi a,7bh
out 01h
mvi a,00h
out 02h
mvi a,44h
out 03h
secentaidos:
mvi a,00h
out 00h
mvi a,7bh
out 01h
mvi a,00h
out 02h
mvi a,3eh
out 03h
secentaitres:
mvi a,00h
out 00h
mvi a,7bh
out 01h
mvi a,00h
out 02h
mvi a,6bh
out 03h
secentaicuatr
o:
mvi a,00h
out 00h
mvi a,7bh
out 01h
mvi a,00h
out 02h
mvi a,4dh
out 03h
secentaicinco
:
mvi a,00h
out 00h
mvi a,7bh
out 01h
mvi a,00h
out 02h
mvi a,6bh
out 03h
secentaiseis:
mvi a,00h
out 00h
mvi a,7bh
out 01h
mvi a,00h
out 02h
mvi a,7bh

out 03h
secentaisiete
:
mvi a,00h
out 00h
mvi a,7bh
out 01h
mvi a,00h
out 02h
mvi a,46h
out 03h
secentaiocho
:
mvi a,00h
out 00h
mvi a,7bh
out 01h
mvi a,00h
out 02h
mvi a,77h
out 03h
secentainuev
e:
mvi a,00h
out 00h
mvi a,7bh
out 01h
mvi a,00h
out 01h
mvi a,4fh
out 03h
;visualizar
numeros
enteros de 70
al 79........
setenta:
mvi a,00h
out 00h
mvi a,46h
out 01h
mvi a,24h
out 02h
mvi a,77h
out 03h
setentaiuno:
mvi a,00h
out 00h
mvi a,46h
out 01h
mvi a,00h
out 02h
mvi a,44h
out 03h
setentaidos:

mvi a,00h
out 00h
mvi a,46h
out 01h
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 02h
mvi a,3eh
out 03h
setentaitres:
mvi a,00h
out 00h
mvi a,46h
out 01h
mvi a,00h
out 02h
mvi a,6bh
out 03h
setentaicuatr
o:
mvi a,00h
out 00h
mvi a,46h
out 01h
mvi a,00h
out 02h
mvi a,4dh
out 03h
setentaicinco
:
mvi a,00h
out 00h
mvi a,46h
out 01h
mvi a,00h
out 02h
mvi a,6bh
out 03h
setentaiseis:
mvi a,00h
out 00h
mvi a,46h
out 01h
mvi a,00h
out 02h
mvi a,7bh
out 03h
setentaisiete:
mvi a,00h
out 00h
mvi a,46h

out 01h
mvi a,00h
out 02h
mvi a,46h
out 03h
setentaiocho:
mvi a,00h
out 00h
mvi a,46h
out 01h
mvi a,00h
out 02h
mvi a,77h
out 03h
setentainuev
e:
mvi a,00h
out 00h
mvi a,46h
out 01h
mvi a,00h
out 01h
mvi a,4fh
out 03h
; visualizar
numero
entero del 80
al 89
ochenta:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,24h
out 02h
mvi a,77h
out 03h
ochentaiuno:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 02h
mvi a,44h
out 03h
ochentaidos:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 02h
mvi a,3eh

out 03h
ochentaitres:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 02h
mvi a,6bh
out 03h
ochentaicuatr
o:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 02h
mvi a,4dh
out 03h
ochentaicinco
:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 02h
mvi a,6bh
out 03h
ochentaiseis:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 02h
mvi a,7bh
out 03h
ochentaisiete
:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 02h
mvi a,46h
out 03h
ochentaiocho
:
mvi a,24h
out 00h
mvi a,77h

out 01h
mvi a,00h
out 02h
mvi a,77h
out 03h
ochentainuev
e:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 01h
mvi a,4fh
out 03h
;visualizar de
90 al
91--------------------------noventa:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,24h
out 02h
mvi a,77h
out 03h
noventaiuno:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 02h
mvi a,44h
out 03h
noventaidos:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 02h
mvi a,3eh
out 03h
noventaitres:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 02h
mvi a,6bh

out 03h
noventaicuatr
o:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 02h
mvi a,4dh
out 03h
noventaicinc
o:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 02h
mvi a,6bh
out 03h
noventaiseis:
mvi a,24h
out 00h
mvi a,77h

out 01h
mvi a,00h
out 02h
mvi a,7bh
out 03h
noventaisiete
:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 02h
mvi a,46h
out 03h
noventaiocho
:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 02h
mvi a,77h
out 03h

noventainuev
e:
mvi a,24h
out 00h
mvi a,77h
out 01h
mvi a,00h
out 01h
mvi a,4fh
out 03h
ret
visualdeci:
cpi 0
jz cerod
cpi 1
jz unod
cpi 2
jz dosd
cpi 3
jz tresd
cpi 4
jz cuatrod
cpi 5
jz cincod

cpi 6
jz seisd
cpi 7
jz sieted
cpi 8
jz ochod
cpi 9
jz nueved
ret
cerod:
mvi
a,11110111b
ret
unod:
mvi
a,11000100b
ret
dosd:
mvi
a,10111110b
ret
tresd:
mvi
a,11101110b
ret

cuatrod:
mvi
a,11001101b
ret
cincod:
mvi
a,11101011b
ret
seisd:
mvi
a,11111011b
ret
sieted:
mvi
a,11000101b
ret
ochod:
mvi
a,1110111b
ret
nueved:
mvi
a,11001111b
ret

2.8

Conclusiones:

La ALU efecta las operaciones aritmticas por medio de


instrucciones generadas en la codificacin del programa en el
lenguaje ensamblador de adicin, registros y dispositivo de control
de clculo.

En circuitos lgicos muy grades como el de la unidad aritmtica


lgica, se deben generar retardos para que el programa funcione
adecuadamente
Para saber si la informacin almacenada en la memoria del
programa 8085 es fidedigna, debe utilizarse diferentes tipos de
banderas para nuestra mayor comprensin y ayuda en el
momento de generar algn error.
Los registros dependen del diseo de la codificacin para no
generar error alguno, pero en general se debe contar como
mnimo con los siguientes: Acumulador, Registro de Instrucciones,
Contador de Programa y Contador de Datos.

2.9

Recomendaciones:
Establecer los parmetros principales y la estructura de la lgica
de codificacin de nuestro ALU para la implementacin en el
programa 8085
Tomar muy en cuenta los diferentes cdigos y su estructura que
posee el lenguaje ensamblador del 8085, para darle una mayor
utilidad y sacarle el mayor provecho posible de estos.
genera banderas para guiarnos mucho mejor en el momento de
obtener algn error en el programa.

2.10

Referencias bibliogrficas:

Linkografia
http://portales.puj.edu.co/objetosdeaprendizaje/Online/OA06/pagin
as/capitulos/Cap4.htm
http://www.mastermagazine.info/termino/3824.php
http://www.buenastareas.com/ensayos/Procesador8085/2018766.html
http://octopusoverflow.blogspot.com/2013/02/lenguajeensamblador-8085.html

2.11

Anexos

Vous aimerez peut-être aussi