laboratorio1microprocesadores

Sunday, December 03, 2006

LABORATORIO # 8

Publicacion no terminada
PROGRAMACIÓN DEL MICROPROCESADOR 8085
I. INTRODUCCIÓN

en estos laboratorios podremos observar como hacer las bifurcaciones en los programas asi como llamar a las subrrutinas.

II. OBJETIVOS

1. OBJETIVOS GENERALES

Ver los pasos a seguir para realizar el llamado de las subrrutinas y las bifurcaciones en los programas del 8085.

2. OBJETIVOS ESPECIFICOS

Desarrollar y ejecutar programas para el microprocesador 8085 que hagan uso de los recursos de bifurcación y salto a subrutinas.
Utilizar el simulador del microprocesador 8085.

3. RESUMEN

Ya que este programa es demasiado grande y lo realizamos en plena semana de parciales, aunque si se pudieron ver los resulñtados obtenidos, no se pudo profundizar en ellos, ya que se siguio estrictamente lo que se pedia sin pensar en por se ponia los comandos.


4. MARCO TEORICO

Omitido

5. LISTADO DE MATERIALES

fuente de alimentacion de 220V AC

entrenador universal.

software para simular en una PC (opcional)

6. LABORATORIO

Procedimiento

Utilizando como base el programa de simulación de terminal de datos del programa simulador, desarrollar un programa que realice la suma entre dos operandos de dos dígitos que se presentarán en la pantalla, incluyendo los símbolos de suma, igualdad y el resultado luego de pulsar la tecla del signo de igualdad, como si se tratase de una calculadora (por ejemplo 13+27 = 40).

Deberá:

1.1 Realizar el flujograma de funcionamiento.
1.2 Realizar el flujograma detallando los pasos de programación.
1.3 Escribir el programa en lenguaje ensamblador, con la respectiva documentación en la columna de comentarios.
1.4 Cargue el programa en el simulador y verifique sus respuestas.


7. CONCLUSIONES
Ø Se enumeran las conclusiones que salieron del laboratorio
8. FE DE ERRATAS
Ø En este espacio se enumeran cambios, errores, etc... importantes del informe, por ejemplo el día de entrega del circuito se le quemo el integrado entonces en este espacio se especifica porque se quemo y la referencia del nuevo integrado y si es el caso el nuevo diseño

LABORATORIO # 7

PUBLICACION NO TERMINADA

PROGRAMACIÓN DEL MICROPROCESADOR 8085

I. INTRODUCCIÓN
Aquí se detallan pequeños programas lineales, para ir tomando mayor dominio en el manejo del entrenador y sus programas.+

II. OBJETIVOS+

1. OBJETIVOS GENERALES+

Realizar pequeños programas para ir familiarizandose con el entrenador 8085.+

2. OBJETIVOS ESPECIFICOS+
Familiarizarse con el conjunto de instrucciones del microprocesador 8085. +
Utilizar el simulador del microprocesador 8085. +
Practicar los pasos para la programación en lenguaje ensamblador de pequeños programas en línea.+

3. RESUMEN +

Realizar estos programas fue una tarea muy agradable, ya que nos permitio conocer como se realizan diversos programas, y aprender mas sobre el proceso de realizacion de ensamblaje de los mnemonicos.+

Aunque no se conocian las funciones de algunos mnemonicos se pudo deducirlos viendo la funcion que realizaban aunque para los dos ultimos programas se necesito ayuda del docente.+

finalmente se pudieron realizar todas las experiencias con exito, y se pudieron ver las formas de simular el entrenador en la PC, que nos permite conseguir la codificacion en lenguaje de maquina con tan solo presionar un boton.+

4. MARCO TEORICO+

Omitido+

5. LISTADO DE MATERIALES+

fuente de alimentcion de 220V AC+

Entrenador universal del 8085+

6. LABORATORIO Y CONCLUSIONES

Parte 1

Procedimiento
Dado el siguiente segmento de programa en lenguaje ensamblador:

1.1 Realizar el flujograma de funcionamiento.

1.2 Llenar la columna de comentarios.

1.3 Traducir el programa a lenguaje de máquina, asignándole las respectivas direcciones de memoria a cada una de las instrucciones del programa.

1.4 Analizar el programa y considerando que en la posición de memoria C020 se tiene 97H, indicar el resultado que se espera obtener al correr el mismo.

El resultado de los calculos manuales es 80H, que corresponde con los resulytados en el simulador

1.5 Cargue el programa en el simulador y verifique sus respuestas.

El programa es el sig:

.org C000H
lda C020H
mvi B, 88H
ana B
out 00H
sta C021H
jmp C000H

Parte # 2

Procedimiento

Dado el siguiente segmento de programa en lenguaje ensamblador:

2.1 Realizar el flujograma de funcionamiento.


2.2 Llenar la columna de comentarios. 3.1 Realizar el flujograma de funcionamiento.

2.3 Traducir el programa a lenguaje de máquina, asignándole las respectivas direcciones de memoria a cada una de las instrucciones del programa.


2.4 Analizar el programa y considerando que en el puerto de entrada 00 se tiene 18H, indicar el resultado que se espera obtener al correr el mismo.

Suponiendo que en el puerto de entrada 00, se tiene 18H, entonces el resultado de un la funcion ORI entre este 18H y 07 es EO, lo cual pudo ser comprovado teoricamente como en el simulador.

2.5 Cargue el programa en el simulador y verifique sus respuestas.
Registrar los resultados para su inclusión en el informe.

El programa que nos permite llegar al resultado anterior es el siguiente:


.ORG A000H
IN 00H
ORI 07
CMA
OUT 00
JMP A000H

Parte 3

Procedimiento

Dado el siguiente segmento de programa en lenguaje ensamblador:

3.1 Realizar el flujograma de funcionamiento.


3.2 Llenar la columna de comentarios.
3.3 Traducir el programa a lenguaje de máquina, asignándole las respectivas direcciones de memoria a cada una de las instrucciones del programa.


3.4 Analizar el programa e indicar el resultado que se espera obtener al correr el mismo.

Aqui se ve una funcion OR-EXclusivo entre 70H y ACH, lo cual nos da un resultado de DCH, el cual pudo ser verificado tanto manualmente como en el simulador.

3.5 Cargue el programa en el simulador y verifique sus respuestas.3

El programa que nos permite realizar la funcion anterio es el siguiente:

.org 2000H

mvi A,70H

mvi B,ACH

xra B

sta 2012

Hhlt

Parte 4

Procedimiento

Dado el siguiente segmento de programa en lenguaje ensamblador:

4.1 Realizar el flujograma de funcionamiento.


4.2 Llenar la columna de comentarios.
4.3 Traducir el programa a lenguaje de máquina, asignándole las respectivas direcciones de memoria a cada una de las instrucciones del programa.


4.4 Analizar el programa e indicar el resultado que se espera obtener al correr el mismo.

El resultado obtenido entre 99H y 01H es 1, y puest que es uno se obtiene una salida Of, talcomo se puede apresiar tambien en el simulador.

4.5 Cargue el programa en el simulador y verifique sus respuestas.

El programa que nos permite realizar esta funcion es:

.org 2c00H

mvi A,99H

ani 01H

jnz uno

mvi A,CCH

jmp otro

uno:mvi

A,0FH

otro:out 10H

hlt

Parte 5

Procedimiento

Dado el siguiente segmento de programa en lenguaje ensamblador:

5.1 Realizar el flujograma de funcionamiento.


5.2 Llenar la columna de comentarios.
5.3 Traducir el programa a lenguaje de máquina, asignándole las respectivas direcciones de memoria a cada una de las instrucciones del programa.


5.4 Ajustar la dirección del banco de interruptores a la dirección del puerto de entrada 0F y el banco de diodos LED a la dirección del puerto de salida F1

5.5 Analizar el programa, colocar en el banco de interruptores 33H, verificar el resultado mostrado en el banco de LEDs, luego cambie el dato de entrada en los interruptores a 44H y verifique nuevamente el resultado.

Cuando colocamos 33H en el banco de interrupciones del puerto de entrada OF, y hacemos corre el programa, este sigue corriendo, a la espera de que se introduzca una direccion como 44H, con la cual la resta es cero para poder detener el programa y sacar los datos FFH por el puerto F1.


5.6 Cargue el programa en el simulador y verifique sus respuestas.
El programa que nos permite hacer esto es el siguiente:

.org 1000H

in 0FH

sui 44H

JNZ 1000H

mvi A,FFH

out F1

HHLT

Parte 6

Procedimiento

Dado el siguiente segmento de programa en lenguaje ensamblador:

6.1 Realizar el flujograma de funcionamiento.


6.2 Llenar la columna de comentarios.
6.3 Traducir el programa a lenguaje de máquina, asignándole las respectivas direcciones de memoria a cada una de las instrucciones del programa.


5.1 Analizar el programa y colocando en el banco de interruptores el valor equivalente a 99H, verificar el resultado mostrado en el banco de LEDs que se espera obtener al correr el programa.

Easte programa compara ABH de acumulador con 99h, del banco de interrupciones, continuando el clico si es que no son iguales ysacando una saluda CD si es que lo son.

6.4 Cargue el programa en el simulador y verifique sus respuestas.

El programa que nos permite realizar las experiencias es el siguiente:

.org 1B00H
in ABH
cpi 99H
jnz 1B00H
mvi A,EEH
out CDH
hlt

7. CONCLUSIONES

Conclusiones de cada experiencia detallada en el procedimiento de cada experiencia.


Pudimos observar detalladamente la realizacion de programas, desde el flujo de programas hasta la codificacion en codigo de maquina.

Pudimos observar que es casi lo mismo tener el entrenador o e simlador del entrenador, los cuales cumplen la misma funcion, aunque el simulador es mucho mas facil, ya que nos permite conseguir los codigos de maquina casi instantaneamente.

8. FE DE ERRATAS

Los mayores problemas que tubimos fue el de identificar la funcio de cada mnemonico, y pues al no conocer a perfeccion el idioma ingles, que s en el cual esta escrito el manual, no se podian decifrar con facilidad dichas instrucciones.

El hacer algunas pruevas directamente en la ventana principal del simulador, nos produ0jeron unos retrazos, ya que no se pudo encontrar la forma de guardad dicha informacion, y entonces decidimos hacer el ensamblado directamente en el simulador, asi se tendra una copia para simepre de lo que hayamos hecho.


LABORATORIO # 6

PROGRAMACIÓN DEL MICROPROCESADOR 8085

I. INTRODUCCIÓN

En este laboratorio se vera como poner el programa monitor del microprocesador 8085, el cual controla los tanto displeys como teclados, para facilitar escribir futuros nuevos programas.

Ademas se realizara un problema adicional que provara el buen funcionamiento de dicho programa.

II. OBJETIVOS


1. OBJETIVOS GENERALES

Realizar la sección de inicialización del programa Monitor.
Programar las secciones de retardo y despliegue del programa monitor.
Realizar la Programación para manejo del teclado hexadecimal y de teclas de función.
Utilizar los recursos del programa Monitor para programación de programas de aplicación. Son los objetivos universales del proyecto

2. OBJETIVOS ESPECIFICOS

Tener conocimientos de que es el programa monitor y cuales son sus funciones.

Ver las secciones de despliegue y retardo del Programa Monitor

Ver como agregar las agrega las secciones de Rastreo

Ver como implementar las ocho teclas de función AH, AL, DA, R, ST, GO, X1 y
X2

Realizar la suma de dos numeros utilizando para ello el programa monitor.

3. RESUMEN

Bueno, el hecho de que es un laboratorio en el cual solo se tienen que seguir pasos ya establecidos, hiso que el desarrollo de estas practicas fuera sencillo, aunque al principio no se pudo lograr el objetivo con el primer entrenador, ya que suponemos que este estaba arruinado, por que se lo reviso detalladamente y no encontro falla en los codigos de maquina introducidos. Pero al cambiar de entrenador se pudo realizar con rapìdez dichas experiencias ya que se estaba familiarizado con los pasos a seguir.

Luego de desarrollar cada un ade las lecciones se hacian las comprovaciones del funcionamiento, el cual en algunos casos fallava y entonces se tenian que revisar los datos introducidos y corregir los errores.

4. MARCO TEORICO

La teoria que se ve en estas experiencias estan detalladas en las lecciones 9, 11, 12, 13, 14 del manual del entrenador del microprocesador 8085.


5. LISTADO DE MATERIALES

fuente de alimentacion de 220AC

Entrenador universal de 8085, con su respectivo manual.

6. LABORATORIO

Práctica # 1

El desarrollo de esta practiva es tan solo de informar en que posiciones de memoria recide el programa monitor, comprender como funciona, como expanderlo, como introducir datos y muchas otras cosas.

práctica # 2

Procedimiento
1. Poner el interruptor RESET arriba y todos los demás interruptores abajo.
2. Conectar la fuente de alimentación y encenderla.
3. Poner el interruptor ENROM arriba para habilitar la ROM.
4. Poner el interruptor WEN arriba para permitir la escritura en la ROM.
5. Utilizar el procedimiento habitual (poner los interruptores de datos a la dirección
y presionar el botón ALE, luego poner los interruptores de datos al código a ser
escrito y presionar el botón WR) para copiar el Programa 2 a la ROM. El
Programa 2 esta listado en el apéndice 1 posiciones 0074 a 00A4.
6. Utilizar el procedimiento habitual para copiar la Tabla Patrón, direcciones 0040
a 004F como se lista en el apéndice 1.
7. Poner el interruptor A8 arriba para acceder a las posiciones de memoria 0100 a
01FF.
8. Utilizar el procedimiento habitual para almacenar FF en la posición de memoria
011C. La dirección de la ROM 011C es copiada a la dirección 80EE de la RAM
y llega ha ser el byte de orden superior de la constante de retardo. El valor FF da
un retardo de aproximadamente medio segundo.
9. Poner abajo el interruptor WEN para evitar la escritura en la ROM.
10. Utilizar el procedimiento habitual (poner los interruptores de datos con la
dirección para ser verificada y presionar el botón ALE, luego el botón RD para
leer los datos) para verificar el código de programa listado en el apéndice 1 en
las posiciones 010A a 012D. RECUERDE QUE LA POSICIÓN DE MEMORIA
011C HA SIDO CAMBIADA A FF.
11. Poner el interruptor A8 abajo para regresar a las posiciones de memoria 0000 a
00FF.
12. Utilizar el procedimiento habitual para verificar los Programas 1 y 2 en las
posiciones de memoria 0000 a 0002 y 0060 a 00A4.
13. Utilizar el procedimiento habitual para verificar la tabla Patrón almacenada en el
paso 6.
14. Poner el interruptor ENROM abajo para deshabilitar la ROM.
15. Poner abajo el interruptor RESET para correr el Programa 2. Como el Programa
está inicializado en el modo data (DA) con la posición de despliegue de datos
(DDA) puesta a 00, ambos displays mostrarán ceros sin punto decimal. El
Display 1 y Display 2 se alternarán en intérvalos de aproximadamente ½
segundo como se determinó por la constante de retardo en el paso 8. Como en el
Programa 1, las salidas de los Puertos son inicializados a cero. Esto hace
iluminar todos los segmentos incluido el punto decimal del Display 2, durante el
primer período de retardo.
16. Poner el interruptor RESET arriba para detener el programa.
CAMBIO DE LA CONSTANTE DE RETARDO
17. Poner los interruptores ENROM y WEN arriba para habilitar la escritura de la
ROM.
18. Poner el interruptor A8 arriba para acceder alas posiciones 0100 a 01FF.
19. Utilizar el procedimiento habitual para almacenar 05 en la posición de la
dirección 011C. Esta dirección srá copiada en la dirección 80EE de la RAM y
llegará ha ser el byte de orden superior de la constante de retardo. El valor 05 da
un retardo de aproximadamente 10 ms.
20. Poner el interruptor WEN abajo para prevenir la escritura en la ROM.
21. Utilizar el procedimiento habitual para verificar el contenido 05 en la dirección
011C.
22. Poner el interruptor ENROM abajo para deshabilitar la ROM. Como los
interruptores de datos, el interruptor A8 es solapado por el 8085 y se lo puede
dejar arriba.
23. Poner el interruptor RESET abajo para correr el programa. Los displays 1 y 2 se
alternarán en intervalos de aproximadamente 10 ms dando la sensación de que
ambos están encendidos continuamente.
24. Poner el interruptor RESET arriba para parar el programa.
PONER EN MODO AL
25. Poner los interruptores ENROM y WEN arriba para habilitar la escritura en la
ROM.
26. Utilizar el procedimiento habitual para almacenar FD en la dirección 0128 y 12
en la 012B. Ver tabla 11-1. La FD de la dirección 0128 es copiada a la dirección
80FA de la RAM poniendo el programa en modo AL. El 12 en la dirección
012B es copiado a DAL en la dirección 80FD de la RAM y será desplegada.
27. Poner el interruptor WEN abajo para prevenir la escritura en la ROM.
28. Utilizar el procedimiento habitual para verificar el FD en la dirección 0128 y 12
en la dirección 012B.
29. Poner el interruptor ENROM abajo para deshabilitar la ROM.
30. Poner el interruptor RESET abajo para correr el programa. El Display mostrará
el 12 en el byte DAL. El punto decimal del Display 2 se encenderá indicando
que el programa está en modo AL.
31. Poner el interruptor RESET arriba para parar el programa.
PONER EN MODO AH
32. Repetir los pasos 25 al 31. En el paso 26 almacenar FE en la dirección 0128 para
poner el programa en el modo AH. Almacenar 34 en la dirección 012C para que
se despliegue. En el paso 30 el diplay mostrará el 34 en el byte DAH y el punto
decimal del Display 1 iluminará indicando que el programa está en modo AH.
VERIFICACIÓN DE LA TABLA PATRON
33. Repetir los pasos 25 a 31. En el paso 26 almacenar el número 56, 78, etc. en la
dirección 012C para verificar los bytes restantes de la Tabla Patrón (ver
apéndice 1). El punto decimal del Display 1 estará encendido en cada caso
indicando que el programa se encuentra en modo AH.
REESTABLECIENDO
34. Repetir los pasos 25 a 31. En el paso 26 reestablecer los bytes de MODEL,
DDA, DAL y DAH a sus valores originales como en la tabla 11-1. En el paso
30, se desplegará 00 sin punto decimal como en el paso 23.
35. Apagar el equipo.

Práctica # 3

Procedimiento

1. Poner el interruptor RESET arriba y todos los demás interruptores abajo.
2. Conectar la Fuente de Alimentación y encender el equipo.
3. Poner el interruptor ENROM arriba para habilitar la ROM.
4. Poner el interruptor WEN arriba para habilitar la escritura en la ROM.
5. Utilizar el procedimiento manual para copiar el Programa · a la ROM. El
Programa 3 esta listado en el apéndice 1 posiciones 00A2 a 00F0.
6. Poner el interruptor WEN abajo para prevenir posteriores escrituras en la ROM.
7. Utilizar el procedimiento habitual para verificar los programas 1,2 y 3 en las
posiciones 0000 a 0002 y 0060 a 00F0.
8. Utilizar el procedimiento habitual para verificar el Patrón de la Tabla en las
posiciones 0040 a 004F.
9. Poner el interruptor A8 arriba para acceder a las posiciones de memoria 0100 a
01FF.
10. Utilizar el procedimiento habitual para verificar las posiciones 010A a 012D.
11. Poner el interruptor EROM abajo para deshabilitar la ROM.
12. Poner abajo el interruptor RESET para correr el programa. Como en la lección
11, el programa inicia en el Modo DDA puesto en 00. El Display por lo tanto
mostrará 00 sin punto decimal.
13. Presionar el botón 1. La pantalla cambia a 01.
14. Presionar el botón 2. El 1 en el dígito de la derecha es desplazado al dígito de la
izquierda y el dígito 2 es insertado en el dígito de la derecha.
15. Presionar el botón 3 a F. Note que cada dígito es insertado en el dígito de la
derecha y el dígito anterior es desplazado a la izquierda.
16. Presionar l botón F dos veces para obtener FF en la pantalla.
17. Poner el interruptor RESET arriba y luego abajo. La pantalla mostrará ahora 00.
El FF mostrado en el paso 16 estaba en el byte DDA en la RAM no en la ROM.
El programa es aún inicializado para mostrar 00.
18. Repetir el paso 16.
19. Presionar y soltar el botón RST. Note que tiene el mismo efecto que poniendo el
interruptor RESET arriba y luego abajo nuevamente.
20. Poner arriba el interruptor RESET.
21. Apagar el equipo.

Práctica # 4

Procedimiento

1. Poner el interruptor RESET arriba y todos los demás interruptores abajo.
2. Conectar la fuente de alimentación y encender el equipo.
3. Poner arriba el interruptor ENROM para habilitar la ROM.
4. Poner arriba el interruptor WEN para permitir la escritura en la ROM.
5. Utilizar el procedimiento habitual para almacenar la Tabla de Función y la
sección de Encontrar Función del Programa 4 en las posiciones 0050 a 005F y
00F1 a 00FF. Ver el apéndice 1.
6. Poner el interruptor A8 arriba para acceder a las posiciones de memoria 0100 a
01FF.
7. Utilizar el procedimiento habitual para almacenar las secciones de Función GO
y Función Lectura del Programa 4 en las posiciones 0100 a 0109.
8. Poner abajo el interruptor WEN para prevenir posteriores escrituras en la ROM.
9. Utilizar el procedimiento habitual para verificar los códigos almacenados en el
paso 7 y las posiciones 010A a 012D de la ROM.
10. Poner abajo el interruptor A8 para acceder a las posiciones de memoria 0000 a
00FF.
11. Utilizar el procedimiento habitual para verificar lo restante del programa
Monitor en las posiciones 0000 a 0002 y 0040 a 00FF.
12. Poner abajo el interruptor ENROM para deshabilitar la ROM.
VERIFICANDO LOS MODOS
13. Poner el interruptor RESET abajo para correr el programa. Como en las
lecciones 11 y 12, el programa comienza en el modo Dato (DA) con DDA
puesto en 00. El display por lo tanto mostrará 00 sin puntos decimales.
14. Presionar dos veces la tecla 1. El byte DDA contendrá 11 y se mostrará 11.
15. Presionar la tecla AL. El programa ahora está en el modo de Dirección Baja
(AL) con lo cual iluminará el punto decimal del display de la derecha (display
2). Como el byte DAL esta inicializado con 00, el display muestra 00.
16. Presionar dos veces la tecla 2. El byte DAL tienen ahora 22 y el display
mostrará 22.
17. Presionar la tecla AH. El programa esta ahora en el modo de Dirección Alta
(AH) con lo cual ilumina el punto decimal del display izquierdo (display 1).
Como el byte DAH está inicializado con 00, el display mostrará 00.
18. Presionar dos veces la tecla 3. el byte DAH tendrá ahora 33 y el display
mostrará 33.
19. Presionar la tecla DA. El programa retorna al modo Datos (DA). No se iluminan
los puntos decimales. El display muestra el 11 del byte DDA.
20. Presionar la tecla AL. El programa retorna al modo AL. El punto decimal de la
derecha ilumina. El diplay muestra 2l 22 del byte DAL.
21. Presionar la tecla AH. El programa retorna al modo AH. Ilumina el punto
decimal de la izquierda. El display muestra el 33 del byte DAH.
ALMACENANDO – LEYENDO EN LA RAM
22. Presionar la tecla AH para poner el programa monitor en modo AH.
23. Presionar los botones 8 y 0 para almacenar 80 en DAH. Si el DAH ya contiene
el número deseado, no necesita ser recargado.
24. Presionar la tecla AL para poner el programa Monitor en modo AL.
25. Presioanar la tecla 0 dos veces para almacenar 00 en DAL. Si DAL ya contiene
el número deseado, no necesita ser almacenado.
26. Presionar la tecla DA para poner el programa Monitor en modo DA.
27. Presionar los botones 1 y 2 para almacenar 12 en DDA. Si el DDA ya contiene
el número deseado, no necesita ser recargado.
28. Presionar la tecla ST para almacenar el 12 de DDA a la dirección 8000
especificada por DAH y DAL. La dirección en DAH y DAL se incrementa en 1.
29. Presionar la tecla AL para poner el programa en modo AL. Note que DAL ha
sido incrementado a 01. Cuando se pulsa nuevamente la tecla ST, los datos serán
almacenados en la dirección 8001.
30. Presionar la tecla DA para poner el programa en modo DA.
31. Repetir los pasos 27 y 28 para completar la siguiente tabla:

DIRECCION .......DATOS
8000 .........................12
8001.......................... 34
8002.......................... 56
8003 ..........................78
6004 ..........................9A
8005 .........................BC
8006 .........................0E
8007......................... F0

32. Presionar la tecla AL para poner el programa en modo AL. DAL es 08.
33. Repetir los pasos 22 a 25 para retornar DAH y DAL a 8000.
34. Presionar la tecla R para verificar la primera dirección de la tabla. Se leerá 12 en
la dirección 8000 y almacenará en DDA. El programa se habrá puesto en modo
DA para mostrar el contenido de DDA. Las direcciones en DAH y DAL se
incrementarán en 1.
35. Repetir el paso 34 para verificar el resto de la tabla.
ALMACENAR-LEER EN ROM
36. Poner el interruptor WEN arriba para permitir la escritura en la ROM.
37. Repetir los pasos 22 a 25 poniendo DAH y DAL a 012E. Este es el byte después
del último byte del programa Monitor.
38. Presionar la tecla DA para poner el programa en modo DA.
39. Repetir los pasos 27 y 28 para almacenar lo siguiente:

DIRECCION DATOS
012E..................11
012F...................22
0130...................33

40. Poner el interruptor WEN abajo para prevenir posteriores escrituras de la ROM:
41. Repetir los paso 22 a 25 poniendo DAH y DAL nuevamente en 012E.
42. Repetir el paso 34 para verificar la tabla almacenada en el paso 39.
VERIFICAR LA FUNCION GO
43. Repetir los pasos 22 a 25 poniendo DAH y DAL a 8000.
44. Presionar la tecla DA para poner el programa en modo DA.
45. Repetir los pasos 27 y 28 para almacenar la siguiente tabla:

DIRECCION MNEMONICO DATOS
8000......................JMP................C3
8001..............................................00
8002............................................. 80


Esta es la instrucción de salto incondicional que transfiere el control así mismo
nuevamente. Una vez ejecutada se repetirá indefinidamente.

46. Repetir los pasos 22 a 25 para retornar a DAH y DAL a 8000.
47. Repetir el paso 34 para verificar la tabla almacenada en el paso 45.
48. Repetir los pasos 22 a 25 para retornar nuevamente a DAH y DAL a 8000.
49. En éste punto el programa está en modo AL desplegando DAL (00). Presionar la
tecla GO. El control se transfiere a la instrucción de salto en la posición 8000 la
que se repite indefinidamente. El programa Monitor ya no está corriendo.
Dependiendo de su estado, cuando se presionó la tecla GO, el display contendrá
un cero en la izquierda o en la derecha.. El otro display quedará en blanco.
50. Presionar la tecla RST para reiniciar el programa Monitor.
VERIFICANDO X1 Y X2
51. Presionar la tecla 1 para poner el display en 01.
52. Presionar la tecla X1. El programa se reinicializa. El display muestra 00.
53. Repetir los pasos 51 y 52 utilizando el X2. La tecla X2 tiene el mismo efecto
que X1.
54. Apagar el equipo.

Práctica # 5

Procedimiento

1. Poner el interruptor RESET arriba y todos los demás interruptores abajo.
2. Conectar la fuente de alimentación y encender el equipo.
3. Poner el interruptor RESET abajo para arrancar el programa Monitor.
4. Presionar la tecla AH para ponerlo en modo AH.
5. Presionar las teclas 8 y 0 para almacenar 80 en DAH.
6. Presionar la tecla AL para poner el programa en modo AL.
7. Presionar las teclas 0 y para almacenar 02 en DAL.
8. Presionar la tecla DA para poner el programa en modo DA.
9. Presionar las teclas 2 y 1 para almacenar 21 en DDA.
10. Presionar la tecla ST par almacenar 21 en DDA en la dirección 8002 conforme
al contenido de DAH y DAL.
11. Repetir los pasos 9 y 10 para almacenar el resto del programa 5 conforme se
lista en la Tabla 14-1.
12. Repetir los pasos 4 al 7 para poner DAH y DAL nuevamente en 8002.
13. Presionar la tecla R para verificar el 21 en la dirección 8002.
14. Repetir el paso 13 par verificar el resto del programa de la Tabla 14-1.
SUMA DE NUMEROS
15. Repetir los pasos del 4 al 7 poniendo DAH y DAL a 8000.
16. Presionar la tecla DA para poner el programa en modo DA.
17. Presionar las teclas 1 y 7 para almacenar 17H en DDA.
18. Presionar la tecla ST par almacenar el 17H en DDA en la dirección 8000
conforme el contenido de DAH y DAL. Esto pone 17H en N1 (decimal23).
19. Presionar las teclas 3 y 2 para almacenar 32H en DDA.
20. Presionar la tecla ST par almacenar el 32H en DDA en la dirección 8001. Esto
pone 32H en N2 (decimal 50).
21. Después de almacenar el 32H en la posición 8001, las dirección en DAH y DAL
se incrementa a 8002 que es la dirección de inicio del programa 5. Presionar la
tecla GO para correr el programa. El programa 5 pone el LSB de la suma en
DDA y el MSB en DAL. Luego, el control es retornado al programa Monitor. El
monitor es colocado en modo DA el cual despliega el LSB de la suma. 49H =
17H + 32H (en decimal 73 = 23 + 50).
22. Presionar la tecla AL para desplegar DAL. El MSN es 00 indicando que no hubo
acarreo.
23. Repetir los pasos 15 al 22 almacenando 3AH en la dirección 8000 y E1H en la
8001. En el paso 21 el LSB de la suma será 1BH. En el paso 22 el MSB será
01H. 11BH = 3AH + E1H (en decimal 283 = 58 + 225).
24. Apagar el equipo.

7. CONCLUSIONES

Practica # 1

Aqui podimos aprender sobre el programa monitor, ¿que es?, cuales son sus direcciones de memoria, en la RAM y en la ROM, cuales son sus modos de direccionamiento y demas.

Practica # 2

Aqui hemos podido ver como iniciar el programa monitor, con las secciones de despliehue y retardos de dicho programa.

Practica # 3

Este programa nos muestra las rutinas de rastreo, de encontrar el teclado y encontrar datos, es decir que se nos avilitan las teclas exadecimales del teclado del entrenador para poder introducir datos mas facilmente que introcirlos en codigo binario y nosmuestra como utilizar este nuevo recurso.

Practica # 4

Aqui se nos muestra como avilitar las teclas que faltaban avilitar en el teclado, que son las ocho teclas de función AH, AL, DA, R, ST, GO, X1 y X2.

La Función de Dirección Alta (FAH), Función de Dirección Baja (FAL) y Función de Dato (FDA) son rutinas

Rutina de Función GO que transfiere el control a la instrucción cuya dirección está especificada el DAH y DAL.

Rutinas de Función FX1 y FX2 que están reservadas para uso futuro.

ademas se nos mostro como podemos observar estos botones en los displays.

practica # 5

Aqui se realizo un programa que suma dos numeros, utilizando para elllo la base que se tenia del programa monitor.

8. FE DE ERRATAS

Se cometieron errores al introducir los datos, ya que por tratar de introducirlos rapidamente, pues se cometieron errores, que hicieron que despues las pruebas no dieran los resultados esperados.

Otro tipo de error se cometio por no habilitar lo sinterruptores de control la las memorias, por lo cual se tuvieron que repetir la entrada de datos hasta tres veces en una ocacion.

Luego de intentar varias veces, revisar tambien varias veces los codigos de maquina en el primer entrenador, pudimos llegar a la conclusion de que estaba dañado, por lo cual tuvimos que cambiar de entrenador, y entonces se pudo realizar la práctica adecuadamente y rapidamente, ya que se conocian los pasos que se tenian que seguir.