Está en la página 1de 18

Grado en Ingeniera informtica Modalidad Virtual

FUNDAMENTOS DE COMPUTADORES
PRCTICA 1
INTRODUCCIN A LA PROGRAMACION EN ENSAMBLADOR
EQUIPO ENTRENADOR

PRCTICA DE LABORATORIO DE FUNDAMENTOS DE COMPUTADORES

OBJETIVOS:
Conocimiento de un equipo didctico de un microprocesador sencillo.
Conocer y manejar el entorno de programacin en ensamblador.
Aprender los conceptos relacionados con la edicin, compilado, enlazado y ejecucin de
programas en ensamblador.
Conocer los pasos que tendrn que realizarse en una simulacin de microprocesador.

CONTENIDO:
1. INTRODUCCIN
2. MATERIALES
3. PROCESO

PRCTICAS:
1. Ciclo completo de programacin.

1
PRCTICAS DE FUNDAMENTOS DE COMPUTADORES

REA DE TECNOLOGA ELECTRNICA

E.P.S. BURGOS

Grado en Ingeniera informtica Modalidad Virtual

Rev. 2015

2
PRCTICAS DE FUNDAMENTOS DE COMPUTADORES

REA. TECNOLOGIA ELECTRNICA

E.P.S. BURGOS

Grado en Ingeniera informtica Modalidad Virtual

INTRODUCCIN:
Esta prctica pretende iniciarnos en la programacin en lenguaje ensamblador para conocer
mejor la estructura y funcionamiento de un microprocesador.
El entorno didctico del microprocesador 8085, que a partir de ahora llamaremos equipo
entrenador, se ver complementado en el laboratorio virtual con el manejo de simuladores
que nos permitirn comprobar el funcionamiento de los programas sin ningn hardware
especfico.

MATERIALES
Para las prcticas contaremos con la comparacin con el equipo didctico real que incluye:
Hardware
Microprocesador 8085, entorno equipo entrenador
PC
Cable de conexin
Software
Editor de textos EDIT.
Ensamblador X8085
Enlazador LINK
Programa de comunicaciones emulador de terminal DDT85
Programa monitor (en la EPROM del equipo)
Equipo entrenador. Podemos distinguir las siguientes partes:
CPU 8085
Puerto paralelo del sistema 8155
Puerto paralelo del usuario 8255
Control del teclado y display 8279
Puerto serie USART (transmisor-receptor asncrono universal) 8251
Memoria:
4 K EPROM
2 K RAM
2 K RAM

2732
4802
4802

direccin:
direccin:
direccin:

0000H a 0FFFh
1000H a 17FFh
1800H a 1FFFh

3
PRCTICAS DE FUNDAMENTOS DE COMPUTADORES

REA DE TECNOLOGA ELECTRNICA

E.P.S. BURGOS

Grado en Ingeniera informtica Modalidad Virtual

4
PRCTICAS DE FUNDAMENTOS DE COMPUTADORES

REA. TECNOLOGIA ELECTRNICA

E.P.S. BURGOS

Grado en Ingeniera informtica Modalidad Virtual

ARQUITECTURA DEL MICROPROCESADOR 8085

INTR

IO/M
RDY
X1 X2 RD WR
S1 HLD RST IN
ALE S0
CLK
SOD
HLDA RST OUT
OUT

RST 5.5 RST 7.5


INTR RST 6.5 TRAP SID

UNIDAD DE
CONTROL

E/S serie

Control de
Interrup.

R. de
Instruccin
8 bits

Bus de datos interno de 8 bits

A
ALU

R. de Flags

SP
PC
Buffer de
direcciones
8 bits (A8-A15)

5V

Buffer de
direcciones/datos
8 bits (AD0-AD7)

GND

Bus externo de 16 bits

5
PRCTICAS DE FUNDAMENTOS DE COMPUTADORES

REA DE TECNOLOGA ELECTRNICA

E.P.S. BURGOS

Grado en Ingeniera informtica Modalidad Virtual

PROCESO
EDICION DEL PROGRAMA EN ENSAMBLADOR
Desde una ventana DOS editaremos el programa que llamaremos PROB.ASM

Con las opciones de archivo lo guardaremos en el directorio de trabajo que por defecto es
el c:\8085 donde se encuentran los programas ejecutables que utilizaremos.
Las instrucciones utilizadas son los Nemnicos del ensamblador y estn relacionadas
directamente con el cdigo que el microprocesador 8085 entiende
Por cada una de las lneas estamos introduciendo realmente 4 campos:
1 etiqueta, opcional, de 1 a 5 caracteres finalizados en 2 puntos.
2 cdigo de operacin
3 operandos depende del campo anterior pueden no existir o ser mas de uno.
4 campo de comentario, opcional, termina en punto y coma
El programa debe de estar escrito enteramente en maysculas para evitar confusiones
entre etiquetas y errores en el resto de los procesos. Existe una utilidad llamada CASE
que pasa a maysculas todo un fichero.

ENSAMBLADO
El siguiente paso es ensamblar el programa editado, para ello ejecutamos el programa
X8085 y respondemos a las preguntas que se nos hace en cada lnea de detencin.
Cuando pulsemos la tecla RETURN se tomar la respuesta por defecto.

6
PRCTICAS DE FUNDAMENTOS DE COMPUTADORES

REA. TECNOLOGIA ELECTRNICA

E.P.S. BURGOS

Grado en Ingeniera informtica Modalidad Virtual

D significa Disco Duro


Toma por defecto la extensin ASM
Por defecto le dar el mismo nombre y crear la extensin
correspondiente
El resultado son una serie de ficheros:
PROB.LST
(editar el fichero .LST para ver su contenido)
PROB.OBJ
Realizar un listado de los ficheros para comprobar su tamao y existencia.
Cometer intencionadamente un error ortogrfico para comprobar como el X8085
notifica los errores.

ENLAZADO DE LOS FICHEROS


Un programa puede crearse realizando llamadas a otros mdulos que ya se encuentran
ensamblados, es decir en formato OBJ y de los cuales ni siquiera tengamos los ficheros
FUENTE en ensamblador.
El proceso que rene todos los ficheros que componen un programa completo se
denomina enlazado. En nuestro entorno esta funcin la realiza el programa LINK2
Tomar por defecto el fichero PROB.OBJ
No hay ms ficheros con los que enlazar

Por defecto nuevamente dejar los ficheros de salida con el mismo nombre pero con las
extensiones .HEX y .SYM
No se especifica ningn OFFSET ya que hemos indicado la direccin de comienzo
exactamente donde queremos que quede.

7
PRCTICAS DE FUNDAMENTOS DE COMPUTADORES

REA DE TECNOLOGA ELECTRNICA

E.P.S. BURGOS

Grado en Ingeniera informtica Modalidad Virtual

Incluir un OFFSET y comprobar lo que se desplaza el programa.

UTILIZACIN DEL PC COMO TERMINAL DE CONSOLA.


Lo primero que tiene que quedar claro es que aunque exista una comunicacin entre el
equipo entrenador y el PC todas las acciones se desarrollarn y las realizar el
microprocesador 8085.
Antes de encender el equipo entrenador debemos asegurarnos que se encuentra en
modo consola (teclado local sin uso) comprobando la posicin del interruptor
correspondiente.
En primer lugar definiremos por cual de los puertos de comunicacin serie disponibles en
el PC ser el utilizado para comunicarnos con el equipo entrenador
Una vez establecida la comunicacin nos aparece un guin en la parte izquierda del
visualizador y la leyenda 8085 tanto en la pantalla del ordenador como en el entrenador.
Como acabamos de encender el entrenador no hay ningn programa cargado en la
memoria, lo primero que haremos ser aprender a transferir el programa desde el PC:
Esto nos evita tener que introducirlo lnea por lnea en cdigo mquina.
El comando que efecta la transferencia es L de load o lectura.

Cargara el fichero PROB.HEX y nos pregunta si


hay que efectuar offset

Lo siguiente son comandos de ejecucin G, comando Go. G1000 significa que queremos
que el microprocesador ejecute las instrucciones que tiene almacenadas desde la
direccin 1000H
D 1200,1203 indica que queremos visualizar el contenido de la memoria del equipo
entrenador desde la posicin 1200H hasta la 1203 que son las que modificaba el
programa.
El comando .H es el comando de salida del programa DDT85

8
PRCTICAS DE FUNDAMENTOS DE COMPUTADORES

REA. TECNOLOGIA ELECTRNICA

E.P.S. BURGOS

Grado en Ingeniera informtica Modalidad Virtual

Una vez que hemos salido del programa terminal realizamos la desconexin entre el PC y
el equipo entrenador.
El estado actual es el siguiente:
No existe comunicacin entre el PC y el equipo entrenador.
El programa se encuentra cargado en memoria y ya ha sido ejecutado una vez, con lo
que las posiciones de memoria 1200 y 1201 han sido puestas a un valor conocido.
El microprocesador se encuentra en un estado de parada
El PC ya no acta como la consola del equipo entrenador
Cambiamos el estado del interruptor a la posicin TEC para poder utilizar el teclado local
y tomar el control.
Pulsamos la tecla INICIO
Para visualizar las posiciones de memoria utilizando el teclado pulsamos la tecla S.ME
ANT
Cuando la pantalla est apagada podemos introducir el nmero en hexadecimal de la
posicin a visualizar 1200, con lo que se nos visualizar 1200 05, es decir la direccin y
su contenido.
Despus de introducir la direccin y visualizar el contenido pulsando la tecla POST
visualizaremos la posicin posterior y si pulsamos S. ME ANT al anterior. Probar a pulsar
varias veces ambas teclas.

Si ahora queremos visualizar el programa contenido en la direccin 1000H deberemos de


proceder de modo similar.
Comprobar que el contenido de las direcciones coincide con el fichero PROB.LST
que podemos visualizar simultneamente en el PC

BORRAR los valores de las posiciones de memoria 1200 y 1201


Si cuando estamos visualizando una posicin de memoria, como hemos visto que
hacemos al introducir S ME ANT y la direccin, pulsamos en el teclado numrico
estaremos modificando el contenido de dicha posicin.

Ejecutar nuevamente el programa y comprobar que el contenido de las posiciones de


memoria ha sido cambiado nuevamente a 03 y 05.

9
PRCTICAS DE FUNDAMENTOS DE COMPUTADORES

REA DE TECNOLOGA ELECTRNICA

E.P.S. BURGOS

Grado en Ingeniera informtica Modalidad Virtual

LISTA DE COMANDOS DEL MONITOR (DDT85)


Estos son los comandos que se pueden ejecutar desde el PC en modo consola
[funcionamiento remoto]
D

Visualizacin de una posicin de la memoria del equipo entrenador


.D (dir baja),(dir alta) CR

Mandar ejecutar al 8085 un programa almacenado en la memoria


.G (dir comienzo),(dir 1er punto de ruptura) ,(dir 2 punto de ruptura) CR

Ejecucin paso a paso


.N (no hace falta CR)

Insertar en la memoria del equipo entrenador


.I (direccin) CR
(Datos)
ESC

Mover memoria
.M (dir. Baja) . (dir. Alta) . (dir destino) CR

Sustituir en la memoria
.S (direccin) espacio -> dato
-> escritura
-> espacio -> lectura
-> CR
-> Salida

Examinar registros
.X (identificador de registro) -> CR
-> Reg

visualiza todos

Registros: A, B,C,D,E,F,H,L,M (memo), P (PC), S (SP)


L

Carga un programa del ordenador al equipo entrenador


.L NOMBRE(.HEX) CR
OFFSET (Valor)

Fin de la comunicacin entre PC y equipo entrenador


.H

10
PRCTICAS DE FUNDAMENTOS DE COMPUTADORES

REA. TECNOLOGIA ELECTRNICA

E.P.S. BURGOS

Grado en Ingeniera informtica Modalidad Virtual

PRACTICAS:
1.1 PROCESO COMPLETO EN MODO REMOTO
Realizar el proceso completo desde la edicin pero introduciendo los valores 09 y 10.
Borrar los valores de la posicin 1200 y 1201 introduciendo en su lugar valores 0.
Ejecutar en modo local el programa.
Visualizar las posiciones 1200 y 1201.
Probar los distintos comandos del monitor realzada la conexin PC-micro2000.
EJERCICIO PROPUESTO (opcional):
Modificar directamente el programa en el equipo entrenador para que al ser
ejecutado escriba los valores 77 y 88 en las posiciones de memoria y ejecutarlo repetir
los pasos de visualizacin.

1.2 PROCESO COMPLETO EN MODO LOCAL


Realizar el proceso completo de introduccin de un programa sin conexin con el PC
introduciendo los valores 09 y 10.

INFORME
El informe debe incluir la descripcin detallada de los procesos completos en modo local y modo
remoto, as como las anotaciones que se consideren necesarias para realizar correctamente la
secuencia.

11
PRCTICAS DE FUNDAMENTOS DE COMPUTADORES

REA DE TECNOLOGA ELECTRNICA

E.P.S. BURGOS

Grado en Ingeniera informtica Modalidad Virtual

ANEXO:
Revisar la documentacin disponible en el directorio de la plataforma relativo al simulador. Incluye
manuales y descripciones de funcionamiento, as como ejemplos.

12
PRCTICAS DE FUNDAMENTOS DE COMPUTADORES

REA. TECNOLOGIA ELECTRNICA

E.P.S. BURGOS

Grado en Ingeniera informtica Modalidad Virtual

Manual de otros simuladores


Microprocessor 8085 simulator

El simulador permite comprobar la ejecucin de un programa escrito en lenguaje


ensamblador para un microprocesador 8085. Facilita la tarea de programacin, ya que
proporciona un entorno amigable y una serie de herramientas de depuracin que hacen
que el resultado obtenido tenga gran probabilidad de funcionar correctamente una vez
transferido a la memoria del procesador.
Se trata de un programa de libre distribucin, por lo que cada uno lo puede instalar donde
prefiera y practicar la programacin del 8085 hasta conseguir el suficiente dominio.
A continuacin se va a proporcionar una introduccin al funcionamiento del programa. No
se incluye el repertorio de instrucciones que se explican en el desarrollo de las prcticas
de la asignatura.
PANTALLA PRINCIPAL DEL PROGRAMA
El trabajo con esta herramienta se basa en el conocimiento del contenido de su pantalla
principal, y prcticamente nica. En ella podemos distinguir las siguientes zonas:
Barra de mens: se encuentra en la parte superior de la pantalla. En ella podemos
encontrar varios mens desplegables. A saber:

File: permite realizar las operaciones habituales con ficheros: new (crear un nuevo
fichero); open (abrir un fichero ya existente); save (almacenar el fichero que se est
empleando); save as (almacenar el fichero que se est utilizando con un nombre y/o
ruta distintos); print program (imprimir el programa que se est probando); print regs

13
PRCTICAS DE FUNDAMENTOS DE COMPUTADORES

REA DE TECNOLOGA ELECTRNICA

E.P.S. BURGOS

Grado en Ingeniera informtica Modalidad Virtual

and mem (imprimir el contenido actual de registros y memoria del procesador); exit
(salir del simulador). Cuando se habla de fichero, se hace referencia a un programa en
ensamblador.
Edit: permite realizar operaciones de edicin con texto: cut (pasar al portapapeles el
texto seleccionado para su utilizacin posterior; el texto desaparece de su actual
ubicacin); copy (copiar un texto seleccionado en el portapapeles; el texto no
desaparece de su actual ubicacin); paste (recuperar el texto que se encuentra en el
portapapeles); delete (borrar el texto seleccionado); select all (seleccionar todo el texto
escrito en la zona de trabajo); find (encontrar una determinada cadena de texto dentro
de la zona de trabajo); replace (reemplazar una determinada cadena de texto por
otra).
CPU: permite realizar operaciones sobre el programa escrito en la zona de trabajo:
compile program (traduce el programa en lenguaje ensamblador a cdigo mquina; no
produce cambios visibles en el mismo, pero nos informa si existe algn error de
programacin); run program (ejecutar el programa escrito; si no se ha compilado
previamente, se realiza ahora de forma automtica; el programa se ejecuta de una
sola vez hasta que se encuentra la instruccin HLT; al final del proceso se pueden
observar los cambios producidos en los registros y memoria); run next line (ejecuta
solamente una lnea de programa); insert breakpoint (inserta un punto de ruptura; se
trata de una herramienta habitual de depuracin que hace que, en un ejecucin
continua, el programa se detenga al llegar a este punto); halt execution (detiene la
ejecucin del programa; es til sobre todo cuando se entra en un bucle infinito);
memory columns (seleccionar las zonas de memoria que queremos tener visibles), fill
memory block (rellenar una zona de memoria con un contenido determinado; habr
que especificar el inicio y final de la zona y el dato que se quiere repetir en todas las
posiciones intermedias); copy memory block (permite copiar el contenido de una zona
de memoria en otra del mismo tamao; habr que especificar el principio y final de la
zona de origen y el principio de la de destino); refresh (refresca o actualiza el
contenido de los registros y memoria); reset cpu (reinicia el procesador, borrando el
contenido de registros y memoria y colocando el contador de programa y puntero de
pila en la direccin inicial).
Help: proporciona algunas opciones relacionadas con la ayuda:
view readme (permite abrir el fichero de ayuda si se dispone de l);
register 8085 simulator (permite opcionalmente registrar la posesin del
programa a travs de internet);
about (proporciona alguna informacin sobre el programa y su fabricante).

Barra de utilidades: proporciona botones de acceso directo a las opciones ms habituales


de los mens:

14
PRCTICAS DE FUNDAMENTOS DE COMPUTADORES

REA. TECNOLOGIA ELECTRNICA

E.P.S. BURGOS

Grado en Ingeniera informtica Modalidad Virtual

file (new, open, save, exit);


edit (cut, copy, paste);

Botones relacionados con la CPU


compile program,
run program,
run next line,
halt execution,
insert breakpoint).

Zona de trabajo: aparece como una hoja en blanco en la que escribir el programa que se
quiere probar.
Zona de registros:
Ventana de registros
muestra el contenido simulado de los registros del 8085. Aparecen por un lado el puntero
de pila (sp) y el contador de programa (pc);

Por otro lado aparecen el resto de registros agrupados por parejas: BC, DE y HL, el
registro A

15
PRCTICAS DE FUNDAMENTOS DE COMPUTADORES

REA DE TECNOLOGA ELECTRNICA

E.P.S. BURGOS

Grado en Ingeniera informtica Modalidad Virtual

Zona de memoria:
Se accede mediante pulsaciones en los botones siguientes

Pulsando el botn
veremos representada.

aparecer el men de configuracin de la ventana que

En el sub-men se configura tanto el nmero de columnas a visualizar , la direccin de


comienzo y el nmero de posiciones que alcanza

Durante la ejecucin del programa visualizaremos una ventana de la siguiente apariencia:

Se permite rellenar una zona de memoria pulsando el botn

que har que

16
PRCTICAS DE FUNDAMENTOS DE COMPUTADORES

REA. TECNOLOGIA ELECTRNICA

E.P.S. BURGOS

Grado en Ingeniera informtica Modalidad Virtual

nos aparezca el submen de relleno

Tambin se puede copiar una zona de memoria en otra mediante pulsacin en el


botn

; el men que aparece ser:

Para resetear la simulacin y comenzar una nueva pulsaremos el botn


Para salir del programa lo haremos mediante pulsacin en el botn

El programa puede registrarse de forma gratuita.

17
PRCTICAS DE FUNDAMENTOS DE COMPUTADORES

REA DE TECNOLOGA ELECTRNICA

E.P.S. BURGOS

Grado en Ingeniera informtica Modalidad Virtual

ORGANIGRAMAS, flujogramas o diagramas de flujo:

Emplear smbolos normalizados.


Inicio y fin del
organigrama
Entradas y salidas del organigrama. Por
ejemplo, introducir el dato, imprimir Z,
visualizar A

Salto condicional

Realizar una
operacin

18
PRCTICAS DE FUNDAMENTOS DE COMPUTADORES

REA. TECNOLOGIA ELECTRNICA

E.P.S. BURGOS