alu _8085

22
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE INGENIERIA EN SISTEMAS ELECTRÓNICA E INDUSTRIAL INGENIERÍA EN ELECTRÓNICA Y COMUNICACIONES Módulo: Microprocesadores Tema: Implementación de ALU en el programa 8085 Nivel: Sexto Electrónica Fecha de entrega: 18-08-2014 Integrantes: Aldaz Abigail Guangasi Alex Chango Christian Jinde Juan Docente: Ing. Ing. Córdova Patricio ABRIL 2014 - SEPTIEMBRE 2014 AMBATO – ECUADOR

Upload: david-cv

Post on 21-Dec-2015

15 views

Category:

Documents


1 download

DESCRIPTION

asambler

TRANSCRIPT

Page 1: alu _8085

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE INGENIERIA EN SISTEMAS ELECTRÓNICA E INDUSTRIAL

INGENIERÍA EN ELECTRÓNICA Y COMUNICACIONES

Módulo: Microprocesadores

Tema: Implementación de ALU en el programa 8085

Nivel: Sexto Electrónica

Fecha de entrega: 18-08-2014

Integrantes: Aldaz Abigail Guangasi Alex Chango Christian Jinde Juan

Docente: Ing. Ing. Córdova Patricio

ABRIL 2014 - SEPTIEMBRE 2014

AMBATO – ECUADOR

Page 2: alu _8085

I. PORTADA

UNIVERSIDAD TÉCNICA DE AMBATOFacultad de Ingeniería en Sistemas, Electrónica e Industrial

Título: Implementación de ALU en el programa 8085 Carrera: Electrónica y Comunicaciones Área Académica: Física y ElectrónicaLínea de Investigación: Sistemas ElectrónicosCiclo Académico y paralelo: SextoAlumnos participantes:

Módulo y Docente: Microprocesadores Ing. Córdova Patricio

II. INFORME DEL PROYECTO1. YY2 Título: “Implementación de ALU en el programa 8085”

2.1 Objetivos:

Objetivo General: Diseño y codificación de la unidad aritmética lógica (ALU) en el programa 8085

Objetivos Específicos: Entender cómo actúa los códigos en el programa 8085 para la ejecución de los

datos para el funcionamiento del ALU Aplicar los conocimientos adquiridos en el clase para la codificación del programa

para obtener el correcto funcionamiento del ALU Es Analizar cada etapa de la unidad aritmética lógica para posteriormente

codificarla sin tener error alguno.2.2 Resumen:

En el proyecto siguiente se ara énfasis en el funcionamiento y codificación de la unida aritmética lógica en el programa 8085 y su posterior implementación, para entender como funcional el código fuente y como trabaja el programa 8085.Unidad lógica aritmética La ALU es la que realiza las operaciones lógicas numéricas como, sumar, restar, multiplicar y dividir, haciendo uso de la memoria y el acumulador operaciones principales para el cálculo 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 continuación.Pero esta unidad es generalmente utilizada en circuitos de alta complejidad, cubriendo no solo operaciones matemáticas simples, sino una gran cantidad de cálculos 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 información que se procesa a través de él.

Page 3: alu _8085

2.3 Palabras clave:ALU, registros, acumuladores, programa 8085, operaciones lógicas

2.4 Introducción:El programa 8085 está compuesto de unidades de control, de aritmética y lógica y de registros. En este experimento nos centralizamos en la unidad de aritmética y lógica (ALU). Su diagrama lógico se presenta en la Figura 1. Esta lleva acabo todas las operaciones aritméticas y lógicas de las que es capaz el microprocesador. Es alimentada por un registro de acumulador y un registro temporal. El microprocesador también tiene un registro de �status flags �, que almacena las condiciones resultantes de cada operación que ejecuta el ALU. Este se conoce como el Status Register.Por lo tanto, debemos tomar muy en cuenta que la codificación del ALU debe ser eficiente y que no tenga ningún inconveniente para su utilización dentro de un sistema se operacional que es complejo y potente. De hecho, el ALU puede tener múltiples núcleos, cada núcleo con múltiples unidades de ejecución, cada una de ellas con múltiples ALU.

2.5 Materiales y Metodología

ALU en el programa 8085

Una unidad aritmética lógica puede realizar un conjunto de operaciones aritméticas básicas y un conjunto de operaciones lógicas, a través de líneas de selección.Las cuatro etapas deben combinarse generando una operación de salida de cuatro bits en el dispaly de 7 o 15 segmentos en el programa 8085. Las entrada de selección deberán ser bien definidas de modo que se pueda seleccionar una etapa a la ve y esta se distingue entre las operaciones aritméticas y lógicas.Los acarreos de entrada y salida tienen sentido únicamente en las operaciones aritméticas. El diseño de una ALU implica el diseño de la sección aritmética, la sección lógica y la modificación de la sección aritmética para realizar las operaciones aritméticas y lógicas.Su diagrama lógico se presenta en la Figura 1. Esta lleva acabo todas las operaciones aritméticas y lógicas de las que es capaz el microprocesador. Es alimentada por un registro de acumulador y un registro temporal.

Page 4: alu _8085

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 Aritmético-lógica se lleven a cabo.

-Unidad Aritmético-Lógica (ALU).

La ALU realiza operaciones numéricas lógicas. Utiliza información 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 operación se almacena en el acumulador, sobresaliendo el dato que estuviera antes almacenado. Identificado como registro A.

Page 5: alu _8085

-Registro de Estado (flags).

La ALU incluye cinco biestables que se actualizan después de cada operación 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 través de instrucciones software.

-Contador de programa (PC).

Este registro de 16 bits es un puntero a memoria (almacena una dirección de memoria). Las posiciones de memoria tienen direcciones de 16 bits.

La función del contador de un programa es apuntar a la dirección de memoria donde se encuentra la siguiente instrucción del programa. Cuando una instrucción se ha cargado de la memoria, el contador de programa se incrementa para que apunte a la siguiente instrucción en memoria.

-Puntero de pila (SP).

También es un registro de 16 bits utilizado como puntero de memoria. Almacena una dirección en la memoria de lectura/escritura denominada pila, que se utiliza cuando se hacen llamadas a subrutinas.

-Registro de instrucción.

Este registro almacena temporalmente la instrucción del programa que se está ejecutando en ese momento. Cada instrucción se envía desde la memoria a este registro antes de su ejecución.

Page 6: alu _8085

-Registro de dirección de memoria.

Almacena la dirección en memoria, recibida desde el PC, de la siguiente instrucción del programa.

-Decodificador de instrucciones.

Este componente toma la instrucción almacenada en el registro de instrucción y la decodifica, pasando el resultado al generador de señales de control,

-Generador de señales 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 diseñador de chips, y le dice al microprocesador el significado de cada instrucción para que a continuación pueda llevar a cabo la operación.

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 información.

Así pues, un sistema típico utiliza una serie de buses (grupos de cables), que transmiten números binarios (un bit por cable).

Un microprocesador típico 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 dirección transportada alerta al controlador de la memoria para “abrir” la posición designada. Los datos (binarios), se pueden entonces leer o escribir de esa posición.

Con 16 bits podemos representar 2^16 números diferentes.

El tamaño del bus de direcciones determina el tamaño de memoria que se va a utilizar.

Para comunicarse con la memoria, el microprocesador envía una dirección en el bus de direcciones, por ejemplo, 0000000000000011 (3 en decimal), al controlador de memoria. El controlador entonces selecciona la posición número 3 para la lectura o escritura de datos. El bus de direcciones es unidireccional, es decir, las direcciones sólo se envían desde el microprocesador al controlador de memoria, nunca al contrario.

Page 7: alu _8085

-Bus de datos.

Transporta datos en forma binaria entre el microprocesador y otras unidades externas, como la memoria.

El tamaño del bus de datos determina las operaciones que se pueden hacer. Es decir, si sólo disponemos de 8 bits de ancho en el bus de datos, el número más grande que podemos manejar es 11111111 (255 en decimal). Por lo tanto, si queremos operar con datos mayores, tenemos que dividir su representación en trozos de 8 bits, lo que ralentiza la ejecución.

El bus de datos también lleva las instrucciones de los programas almacenados en la memoria al microprocesador. Este bus sí es bidireccional.

-Bus de control.

Consta de varias líneas que tienen funciones específicas de coordinación y control de las operaciones del microprocesador. Controla si una operación se va a hacer en un puerto entrada/salida o en una posición de memoria. También incluye una línea de reloj para temporización/sincronización, una línea para “reset”, etc.

Modos de direccionamiento.

Lógicamente la mayoría de las instrucciones que escribimos en cualquier lenguaje de programación hacen uso de datos disponibles en algún 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 ningún tipo de dudas dónde 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 instrucción, de manera que se usa el dato inmediatamente.

-Direccionamiento de registros. Los datos están 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 dirección en que se encuentra éste, sino que se suministra información de dónde se puede consultar la dirección en que se

Page 8: alu _8085

Operaciones lógicas y aritméticas.

Podemos realizar distintas operaciones en nuestro simulador, entre ellas sumas, restas, incrementos y decrementos en el bloque de operaciones aritméticas.

Para sumar dos números cualesquiera solo tenemos que usar la instrucción add, que veremos más 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 in 00; Almacena en el acumulador el valor hexadecimal que hayamos puesto en el puerto 00

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

Con este sencillo ejemplo vemos como funcionaría una suma. El acumulador es el registro que juega el papel más importante pero sin embargo en programas más elaborados tendremos que jugar con los valores de los registros.

En las instrucciones de transferencia de datos la ejecución no afecta a los flags del registro de estado. Si almacenamos 00h en el acumulador el flag Z, (Cero) no cambia.

Todas las operaciones aritméticas y lógicas 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 ejecución de un programa se puede alterar añadiendo 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 leáis, y podáis 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”.

Page 9: alu _8085

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

Unidad de Control en el 8085Hacen que ciertas conexiones entre los bloques de la up que abren y cierran , generen señales dentro de ella para llevar a cabo la instrucción que ha sido descifrada, por lo que los datos van a donde sea necesario, y para que las operaciones de ALU ocurran.Unidad lógica aritmética ALU es la que realiza las operaciones lógicas numéricas como, sumar, restar, multiplicar y dividir, haciendo uso de la memoria y el acumulador para realizar las operaciones.

RegistrosEl 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 continuación: El 8085 tiene seis registros de propósito 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 16-bit. El Programador puede utilizar estos registros para almacenar o copiar los datos en los registros mediante el uso de datos e instrucciones.

AcumuladorEl acumulador es un registro de 8 bits que es parte de la unidad aritmético-lógica (ALU).Este registro se utiliza para almacenar datos de 8-bits y para realizar operaciones aritméticas y lógicas. El resultado de una operación se almacena en el acumulador. Los acumuladores también Identificados como el registro A.Estos indicadores tienen una importancia crítica en el proceso de toma de decisiones de la unidad aritmética lógica.Las condiciones (establecer o restablecer) de las banderas se ponen a prueba a través del software de instrucciones. Por ejemplo, la instrucción 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. Aritméticas � estas instrucciones llevan a cabo la función 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. Lógicas � este grupo de instrucciones ejecuta operaciones lógicas (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 operación 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.

Page 10: alu _8085

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 ARITMÉTICA LÓGICA

Una función esencial de muchas computadoras y calculadoras es la realización de operaciones aritméticas. Estas operaciones se efectúan en la unidad aritmética-lógica de una computadora, donde se combinan compuertas lógicas y flip-flops de manera que puedan sumar, restar, multiplicar y dividir números binarios. Estos circuitos efectúan operaciones aritméticas a velocidades que son humanamente imposibles. Comúnmente, una operación de adición se llevará menos de 1 microsegundo.

ALU Todas las operaciones se llevan a cabo en la unidad aritmética lógica de una computadora. La figura nos muestra un diagrama de bloques que muestra los elementos principales que se incluyen en una ALU común. La finalidad primordial de la ALU consiste en aceptar datos binarios que están almacenados en la memoria y ejecutar operaciones aritméticas con estos datos, de acuerdo con instrucciones que provienen de la unidad de control.

2.6 Listado de Equipos y Materiales

Programa 8085

2.7 Esquemas y Funcionamiento Código visualizar enteros y decimales del 0.00 al 99.9

.org 000h;ingreso # 1 in 00hmov b,a;ingreso parte decimal 1in 01hmov c,a;ingreso #2in 02hmov d,a;;ingreso parte decimal 2;in 03h;mov e,a

salida:mvi a,5Ahout 06hmvi a,80hout 03h

out 0Bhmvi a,0out 00hout 05hout 07hout 08hout 09hout 0Ahout 0chout 0dhmvi a, 28hout fhmov a,bcall visualout 01hmov a,ccall visualdeciout 05hmov a,dcall visualout 09hjmp 00

;___________________________________;visualizar con salto jzvisual:cpi 0jz cerocpi 1jz unocpi 2jz doscpi 3jz trescpi 4jz cuatrocpi 5jz cincocpi 6jz seiscpi 7jz siete

cpi 8jz ochocpi 9jz nuevecpi 10jz diezcpi 11jz oncecpi 12jz docecpi 13jz trececpi 14jz catorcecpi 15jz quincecpi 16jz dieciseiscpi 17jz diecisietecpi 18jz dieciocho

cpi 19jz diecinuevecpi 20jz veintecpi 21jz veintiunocpi 22jz veintidoscpi 23jz veintitrescpi 24jz veinticuatrocpi 25jz veinticincocpi 26jz veintiseiscpi 27jz veintisietecpi 28jz veintiochocpi 29jz veintinueve

Page 11: alu _8085

cpi 30jz treintacpi 31jz treintaiunocpi 32jz treintaidoscpi 33jz treintaitrescpi 34jz treintaicuatrocpi 35jz treintaicincocpi 36jz treintaiseiscpi 37jz treintaisietecpi 38jz treintaiochocpi 39jz treintainuevecpi 40jz cuarentacpi 41jz cuarentaiunocpi 42jz cuarentaidoscpi 43jz cuarentaitrescpi 44jz cuarentaicuatrocpi 45jz cuarentaicincocpi 46jz cuarentaiseiscpi 47jz cuarentaisietecpi 48jz cuarentaiochocpi 49jz cuarentainuevecpi 50jz cincuentacpi 5jz cincuentaiunocpi 52jz cincuentaidoscpi 53jz cincuentaitrescpi 54

jz cincuentaicuatrocpi 55jz cincuentaicincocpi 56jz cincuentaiseiscpi 57jz cincuentaisietecpi 58jz cincuentaiochocpi 59jz cincuentainuevecpi 60jz sesentacpi 61jz secentaiunocpi 62jz secentaidoscpi 63jz secentaitrescpi 64jz secentaicuatrocpi 65jz secentaicincocpi 66jz secentaiseiscpi 67jz secentaisietecpi 68jz secentaiochocpi 69jz secentainuevecpi 70jz setentacpi 71jz setentaiunocpi 72jz setentaidoscpi 73jz setentaitrescpi 74jz setentaicuatrocpi 75jz setentaicincocpi 76jz setentaiseiscpi 7jz setentaisiete

cpi 78jz setentaiochocpi 79jz setentainuevecpi 80jz ochentacpi 81jz ochentaiunocpi 82jz ochentaidoscpi 83jz ochentaitrescpi 84jz ochentaicuatrocpi 85jz ochentaicincocpi 86jz ochentaiseiscpi 87jz ochentaisietecpi 88jz ochentaiochocpi 89jz ochentainueve

cpi 90jz noventacpi 1jz noventaiunocpi 2jz noventaidoscpi 3jz noventaitrescpi 4jz noventaicuatrocpi 5jz noventaicincocpi 6jz noventaiseiscpi 7jz noventaisietecpi 8jz noventaiochocpi 9jz noventainueveret;_____________________;mostrar en display 15

segmentos primer numero entero;mostrar del 10 al 9cero:mvi a,24hout 00hmvi a,77hout 01hmvi a,24hout 02hmvi a,77hout 03huno:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,44hout 03hdos:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,3ehout 03htres:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,6bhout 03hcuatro:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,4dhout 03hcinco:mvi a,24h

out 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,6bhout 03hseis:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,7bhout 03hsiete:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,46hout 03hocho:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,77hout 03hnueve:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 01hmvi a,4fhout 03h;mostrar del 10 al 19diez:mvi a,00hout 00hmvi a,44hout 01hmvi a,24hout 03h

Page 12: alu _8085

mvi a,77hout 04honce:mvi a,00hout 00hmvi a,44hout 01hmvi a,00hout 02hmvi a,44hout 03hdoce:mvi a,00hout 00hmvi a,44hout 01hmvi a,00hout 02hmvi a,3ehout 03htrece:mvi a,00hout 00hmvi a,44hout 01hmvi a,00hout 02hmvi a,6bhout 03hcatorce:mvi a,00hout 00hmvi a,44hout 01hmvi a,00hout 02hmvi a,4dhout 03hquince:mvi a,00hout 00hmvi a,44hout 01hmvi a,00hout 02hmvi a,6bhout 03hdieciseis:mvi a,00hout 00hmvi a,44hout 01h

mvi a,00hout 02hmvi a,7bhout 03hdiecisiete:mvi a,00hout 00hmvi a,44hout 01hmvi a,00hout 02hmvi a,46hout 03hdieciocho:mvi a,00hout 00hmvi a,44hout 01hmvi a,00hout 02hmvi a,77hout 03hdiecinueve:mvi a,00hout 00hmvi a,44hout 01hmvi a,00hout 02hmvi a,4fhout 03h; mostrar primer numero entero de 20 al 29____________veinte:mvi a,00hout 00hmvi a,3ehout 01hmvi a,24hout 02hmvi a,77hout 03hveintiuno:mvi a,00hout 00hmvi a,3ehout 01hmvi a,00hout 02h

mvi a,44hout 03hveintidós:mvi a,00hout 00hmvi a,3ehout 01hmvi a,00hout 02hmvi a,3ehout 03hveintitres:mvi a,00hout 00hmvi a,3ehout 01hmvi a,00hout 02hmvi a,6bhout 03hveinticuatro:mvi a,00hout 00hmvi a,3ehout 01hmvi a,00hout 02hmvi a,4dhout 03hveinticinco:mvi a,00hout 00hmvi a,3ehout 01hmvi a,00hout 02hmvi a,6bhout 03hveintiseis:mvi a,00hout 00hmvi a,3ehout 01hmvi a,00hout 02hmvi a,7bhout 03hveintisiete:mvi a,00hout 00hmvi a,3ehout 01h

mvi a,00hout 02hmvi a,46hout 03hveintiocho:mvi a,00hout 00hmvi a,3ehout 01hmvi a,00hout 02hmvi a,77hout 03hveintinueve:mvi a,00hout 00hmvi a,3ehout 01hmvi a,00hout 01hmvi a,4fhout 03h;imprimir numeros numeros enteros del 30 al 39-----------treinta:mvi a,00hout 00hmvi a,6ehout 01hmvi a,24hout 02hmvi a,77hout 03htreintaiuno:mvi a,00hout 00hmvi a,6ehout 01hmvi a,00hout 02hmvi a,44hout 03htreintaidos:mvi a,00hout 00hmvi a,6ehout 01hmvi a,00hout 02h

mvi a,3ehout 03htreintaitres:mvi a,00hout 00hmvi a,6ehout 01hmvi a,00hout 02hmvi a,6bhout 03htreintaicuatro:mvi a,00hout 00hmvi a,6ehout 01hmvi a,00hout 02hmvi a,4dhout 03htreintaicinco:mvi a,00hout 00hmvi a,6ehout 01hmvi a,00hout 02hmvi a,6bhout 03htreintaiseis:mvi a,00hout 00hmvi a,6ehout 01hmvi a,00hout 02hmvi a,7bhout 03htreintaisiete:mvi a,00hout 00hmvi a,6ehout 01hmvi a,00hout 02hmvi a,46hout 03htreintaiocho:mvi a,00hout 00hmvi a,6ehout 01h

Page 13: alu _8085

mvi a,00hout 02hmvi a,77hout 03htreintainueve:mvi a,00hout 00hmvi a,6ehout 01hmvi a,00hout 01hmvi a,4fhout 03h;Visualizar numero entero del 40 al 49 ------------------------cuarenta:mvi a,00hout 00hmvi a,4dhout 01hmvi a,24hout 02hmvi a,77hout 03hcuarentaiuno:mvi a,00hout 00hmvi a,4dhout 01hmvi a,00hout 02hmvi a,44hout 03hcuarentaidos:mvi a,00hout 00hmvi a,4dhout 01hmvi a,00hout 02hmvi a,3ehout 03hcuarentaitres:mvi a,00hout 00hmvi a,4dhout 01hmvi a,00hout 02h

mvi a,6bhout 03hcuarentaicuatro:mvi a,00hout 00hmvi a,4dhout 01hmvi a,00hout 02hmvi a,4dhout 03hcuarentaicinco:mvi a,00hout 00hmvi a,4dhout 01hmvi a,00hout 02hmvi a,6bhout 03hcuarentaiseis:mvi a,00hout 00hmvi a,4dhout 01hmvi a,00hout 02hmvi a,7bhout 03hcuarentaisiete:mvi a,00hout 00hmvi a,4dhout 01hmvi a,00hout 02hmvi a,46hout 03hcuarentaiocho:mvi a,00hout 00hmvi a,4dhout 01hmvi a,00hout 02hmvi a,77hout 03hcuarentainueve:mvi a,00hout 00hmvi a,4dhout 01h

mvi a,00hout 01hmvi a,4fhout 03h;visualizar del cincuenta al 59cincuenta:mvi a,00hout 00hmvi a,6bhout 01hmvi a,24hout 02hmvi a,77hout 03hcincuentaiuno:mvi a,00hout 00hmvi a,6bhout 01hmvi a,00hout 02hmvi a,44hout 03hcincuentaidos:mvi a,00hout 00hmvi a,6bhout 01hmvi a,00hout 02hmvi a,3ehout 03hcincuentaitres:mvi a,00hout 00hmvi a,6bhout 01hmvi a,00hout 02hmvi a,6bhout 03hcincuentaicuatro:mvi a,00hout 00hmvi a,6bhout 01hmvi a,00hout 02hmvi a,4dhout 03h

cincuentaicinco:mvi a,00hout 00hmvi a,6bhout 01hmvi a,00hout 02hmvi a,6bhout 03hcincuentaiseis:mvi a,00hout 00hmvi a,6bhout 01hmvi a,00hout 02hmvi a,7bhout 03hcincuentaisiete:mvi a,00hout 00hmvi a,6bhout 01hmvi a,00hout 02hmvi a,46hout 03hcincuentaiocho:mvi a,00hout 00hmvi a,6bhout 01hmvi a,00hout 02hmvi a,77hout 03hcincuentainueve:mvi a,00hout 00hmvi a,6bhout 01hmvi a,00hout 01hmvi a,4fhout 03h; visualizar numero entero del 60 al 70secenta:mvi a,00hout 00hmvi a,7bh

out 01hmvi a,24hout 02hmvi a,77hout 03hsecentaiuno:mvi a,00hout 00hmvi a,7bhout 01hmvi a,00hout 02hmvi a,44hout 03hsecentaidos:mvi a,00hout 00hmvi a,7bhout 01hmvi a,00hout 02hmvi a,3ehout 03hsecentaitres:mvi a,00hout 00hmvi a,7bhout 01hmvi a,00hout 02hmvi a,6bhout 03hsecentaicuatro:mvi a,00hout 00hmvi a,7bhout 01hmvi a,00hout 02hmvi a,4dhout 03hsecentaicinco:mvi a,00hout 00hmvi a,7bhout 01hmvi a,00hout 02hmvi a,6bhout 03hsecentaiseis:mvi a,00h

Page 14: alu _8085

out 00hmvi a,7bhout 01hmvi a,00hout 02hmvi a,7bhout 03hsecentaisiete:mvi a,00hout 00hmvi a,7bhout 01hmvi a,00hout 02hmvi a,46hout 03hsecentaiocho:mvi a,00hout 00hmvi a,7bhout 01hmvi a,00hout 02hmvi a,77hout 03hsecentainueve:mvi a,00hout 00hmvi a,7bhout 01hmvi a,00hout 01hmvi a,4fhout 03h;visualizar numeros enteros de 70 al 79........setenta:mvi a,00hout 00hmvi a,46hout 01hmvi a,24hout 02hmvi a,77hout 03hsetentaiuno:mvi a,00hout 00hmvi a,46hout 01hmvi a,00h

out 02hmvi a,44hout 03hsetentaidos:mvi a,00hout 00hmvi a,46hout 01hmvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,3ehout 03hsetentaitres:mvi a,00hout 00hmvi a,46hout 01hmvi a,00hout 02hmvi a,6bhout 03hsetentaicuatro:mvi a,00hout 00hmvi a,46hout 01hmvi a,00hout 02hmvi a,4dhout 03hsetentaicinco:mvi a,00hout 00hmvi a,46hout 01hmvi a,00hout 02hmvi a,6bhout 03hsetentaiseis:mvi a,00hout 00hmvi a,46hout 01hmvi a,00hout 02hmvi a,7bhout 03h

setentaisiete:mvi a,00hout 00hmvi a,46hout 01hmvi a,00hout 02hmvi a,46hout 03hsetentaiocho:mvi a,00hout 00hmvi a,46hout 01hmvi a,00hout 02hmvi a,77hout 03hsetentainueve:mvi a,00hout 00hmvi a,46hout 01hmvi a,00hout 01hmvi a,4fhout 03h; visualizar numero entero del 80 al 89ochenta:mvi a,24hout 00hmvi a,77hout 01hmvi a,24hout 02hmvi a,77hout 03hochentaiuno:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,44hout 03hochentaidos:mvi a,24hout 00hmvi a,77h

out 01hmvi a,00hout 02hmvi a,3ehout 03hochentaitres:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,6bhout 03hochentaicuatro:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,4dhout 03hochentaicinco:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,6bhout 03hochentaiseis:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,7bhout 03hochentaisiete:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,46hout 03hochentaiocho:mvi a,24h

out 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,77hout 03hochentainueve:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 01hmvi a,4fhout 03h;visualizar de 90 al 91----------------------------noventa:mvi a,24hout 00hmvi a,77hout 01hmvi a,24hout 02hmvi a,77hout 03hnoventaiuno:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,44hout 03hnoventaidos:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,3ehout 03hnoventaitres:mvi a,24hout 00hmvi a,77hout 01h

Page 15: alu _8085

mvi a,00hout 02hmvi a,6bhout 03hnoventaicuatro:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,4dhout 03hnoventaicinco:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,6bhout 03hnoventaiseis:mvi a,24hout 00h

mvi a,77hout 01hmvi a,00hout 02hmvi a,7bhout 03hnoventaisiete:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,46hout 03hnoventaiocho:mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 02hmvi a,77hout 03hnoventainueve:

mvi a,24hout 00hmvi a,77hout 01hmvi a,00hout 01hmvi a,4fhout 03hret

visualdeci:cpi 0jz cerodcpi 1jz unodcpi 2jz dosdcpi 3jz tresdcpi 4jz cuatrodcpi 5jz cincodcpi 6jz seisd

cpi 7jz sietedcpi 8jz ochodcpi 9jz nuevedretcerod:mvi a,11110111bretunod:mvi a,11000100bretdosd:mvi a,10111110brettresd:mvi a,11101110bretcuatrod:

mvi a,11001101bretcincod:mvi a,11101011bretseisd:mvi a,11111011bretsieted: mvi a,11000101bretochod:mvi a,1110111bretnueved:mvi a,11001111bret

2.8 Conclusiones:

La ALU efectúa las operaciones aritméticas por medio de instrucciones generadas en la codificación del programa en el lenguaje ensamblador de adición, registros y dispositivo de control de cálculo.

Page 16: alu _8085

En circuitos lógicos muy grades como el de la unidad aritmética lógica, se deben generar retardos para que el programa funcione adecuadamente

Para saber si la información almacenada en la memoria del programa 8085 es fidedigna, debe utilizarse diferentes tipos de banderas para nuestra mayor comprensión y ayuda en el momento de generar algún error.

Los registros dependen del diseño de la codificación para no generar error alguno, pero en general se debe contar como mínimo con los siguientes: Acumulador, Registro de Instrucciones, Contador de Programa y Contador de Datos.

2.9 Recomendaciones:

Establecer los parámetros principales y la estructura de la lógica de codificación de nuestro ALU para la implementación en el programa 8085

Tomar muy en cuenta los diferentes códigos 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 algún error en el programa.

2.10 Referencias bibliográficas:

Linkografia http://portales.puj.edu.co/objetosdeaprendizaje/Online/OA06/paginas/

capitulos/Cap4.htm http://www.mastermagazine.info/termino/3824.php http://www.buenastareas.com/ensayos/Procesador-8085/2018766.html http://octopusoverflow.blogspot.com/2013/02/lenguaje-ensamblador-8085.html

2.11 Anexos