Proyecto 1 - Departamento de Ciencias e Ingeniería de la

Anuncio
PROYECTO Nº 1
ORGANIZACIÓN DE COMPUTADORAS
Licenciatura en Ciencias de la Computación - Segundo cuatrimestre de 2009
Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur
Programación en Assembler
Enunciado:
Empleando el entorno de desarrollo y simulación 8086 Microprocessor Emulator, diseñar un
programa escrito en lenguaje Assembler para la arquitectura 8086, el cual partiendo de la plantilla
para ejecutables .com, implemente el controlador de un motor paso a paso de un portón corredizo de
apertura remota. Concretamente, el programa debe llevar adelante las siguientes tareas:
•
El portón corredizo es controlado mediante el dispositivo virtual Stepper Motor. Este
dispositivo simula un motor paso a paso como el usado para automatizar distintos tipos de
portones. En este caso en particular, asumiremos que hacen falta cuatro giros completos del
motor para abrir o cerrar el portón en su totalidad.
•
En todo momento debe monitorear el teclado a la espera de nuevos comandos. Los
comandos reconocidos por el controlador son “izquierda” para abrir el portón, “flecha
derecha” para cerrarlo, “abajo” para detener el portón (sin importar que quede a medio abrir
o cerrar), y finalmente “arriba” para finalizar la ejecución del programa. Cabe acotar, el
usuario puede cambiar de opinión en cualquier momento y decidir cerrar el portón a la mitad
de la ejecución de un comando anterior de apertura o vice-versa.
•
Haciendo uso del dispositivo virtual LED Display se debe mantener informado al usuario
acerca del estado actual del portón, indicándose mediante una valor porcentual qué tan
abierto o cerrado está el portón en ese instante.
Dispositivos disponibles:
El programa implementado debe hacer uso de los distintos dispositivos que se simulan dentro del
entorno de programación, a saber:
Motor paso a paso: Este dispositivo se controla mediante el puerto 7. Se trata de un puerto
de lectura/escritura que opera con bytes.
Display numérico: El cual se controla mediante el puerto 199. Se trata de un puerto de
lectura/escritura que opera con words.
Para más información acerca de la operación de los dispositivos y del significado particular de los
diversos bits consultar la documentación del entorno de programación.
Observaciones de la implementación:
El programa se deberá denominar: porton.asm.
El código fuente deberá estar correctamente estructurado (indentación, etc.).
1
PROYECTO Nº 1
ORGANIZACIÓN DE COMPUTADORAS
Licenciatura en Ciencias de la Computación - Segundo cuatrimestre de 2009
Departamento de Ciencias e Ingeniería de la Computación - Universidad Nacional del Sur
En el código, entre eficiencia y claridad, se debe optar por la claridad. Toda decisión en este
sentido debe constar en el informe que acompaña al programa implementado.
Deben efectuar la programación utilizando técnicas de programación modular, estudiadas
durante la carrera, en este caso por ser un programa pequeño se recomienda utilizar llamadas a
procedimientos y macros (la cuales son herramientas propias y apropiadas en el uso de
lenguajes de tipo ensamblador).
Documentación:
•
•
•
El código entregado deberá estar documentado adecuadamente, es decir: todos los bloques de
código, procedimientos y macros utilizadas (o creadas).
Indicar datos de entrada y salida en procedimientos y macros, como así también el propósito de
dichas rutinas.
La documentación en este caso tiene que estar dirigida al programador. Es obligatorio que en
dicho informe se especifique el algoritmo general de todo el programa.
Condiciones de entrega:
•
•
•
•
El proyecto debe ser realizado en comisiones individuales sin excepciones (pueden
intercambiar ideas entre compañeros pero no código).
El trabajo debe ser entregado el día 20 de noviembre, en el horario normal de la práctica.
Deberán entregar el archivo: porton.asm y cualquier otro necesario para poder ejecutar el
programa y necesario durante la corrección (exceptuando aquellos incluidos en la aplicación
emu8086).
Deberá entregarse un folio de nylon que contenga:
El informe impreso y carátula (con nombre y LU)
El código impreso de todo el código fuente entregado.
Un CDr(w) o pendrive con los módulos implementados. Deberán contener doble copia los
archivos involucrados para el proyecto, en carpetas con los nombres: original y backup
respectivamente.
Condiciones de aprobación:
No serán corregidos programas que generen errores durante la compilación.
No serán corregidos los proyectos donde los archivos no respeten los nombres solicitados.
Los proyectos no corregidos no son aceptados, por lo tanto se consideran desaprobados. Los proyectos no entregados o fuera de fecha no son aceptados, por lo tanto se consideran
desaprobados. 2
Descargar