La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ETC-II APM-Octubre-2007 Universidad Autónoma de Madrid Escuela Politécnica Superior ETC-II APM-Septiembre-2009 Laboratorio de Estructura y Tecnología de.

Presentaciones similares


Presentación del tema: "ETC-II APM-Octubre-2007 Universidad Autónoma de Madrid Escuela Politécnica Superior ETC-II APM-Septiembre-2009 Laboratorio de Estructura y Tecnología de."— Transcripción de la presentación:

1 ETC-II APM-Octubre-2007 Universidad Autónoma de Madrid Escuela Politécnica Superior ETC-II APM-Septiembre-2009 Laboratorio de Estructura y Tecnología de Computadores Proyecto Piano

2 ETC-II APM-Octubre-2007 Introducción Programar en Ensamblador x86 un Teclado electrónico para MSDOS Objetivos: Aprender a programar el entorno 8086 Aprender a realizar un driver Aprender la interacción con los recursos hardware Aprender la interacción entre C y Lenguaje ensamblador Conocimientos: Programación y depuración 8086 Funcionamiento de interrupciones software Comunicación con programas residentes Timer del PC (interrupción 0x1C, generación de sonidos) RTC Uso de la pila para paso de parámetros APM-Septiembre-2009

3 ETC-II APM-Octubre-2007 Introducción Generación de un sonido mediante el altavoz del PC: El altavoz del PC está conectado al bit 1 del Puerto 61H (xxxx-xxox) Cambiando el estado del bit a ciertas frecuencias se produce una señal audible. Según la frecuencia, tenemos un sonido (nota) u otro. Dos opciones: Bucle con espera activa y acceso directo al altavoz Usar el Timer 0 para generar la señal cuadrada automáticamente APM-Septiembre-2009 Onda sonora Señal Eléctrica conectada al altavoz PC

4 ETC-II APM-Octubre-2007 Escala musical temperada APM-Septiembre-2009 NotaFrec HzTecla 1DO261,626C 2DO#277,183C# 3RE293,665D 4RE#311,127D# 5MI329,628E 6FA349,228F 7FA#369,994F# 8SOL391,995G 9SOL#415,305G# 10LA440A 11LA#466,164A# 12SI493,883B 13DO523,251 f2f 12 2 Relación entre una nota y la siguiente

5 ETC-II APM-Octubre-2007 Estructura Proyecto Driver INT 61H Generador Notas musicales por TMR y RTC Practica 3 Programa en C para leer canciones de fichero Librería en ASM que hace de interfaz entre C y el driver APM-Septiembre-2009 Teclado Electrónico Práctica 2 Práctica 1 Mandamos la nota Servicios Int 61H Mandamos la nota

6 ETC-II APM-Octubre-2007 Práctica 1 Práctica 1: Diseño del teclado Hacer un programa en ensamblador que dibuja un teclado en la pantalla (modo QVGA / VGA) y que detecta las teclas introducidas por el usuario. Este programa llamará al driver ‘driver.com’ que se encargará de reproducir las notas por el altavoz. Este driver se proporcionará a los alumnos. APM-Septiembre-2009

7 ETC-II APM-Octubre-2007 Práctica 1 objetivos Práctica 1: Objetivos 1.Detectar instalación correcta del driver: 1.Vector interrupción distinto de cero. 2.Comprobación palabra clave. 3.Comprobación Identificador del driver. 1.Dibujar el teclado (Texto o QVGA) 2.Leer teclas asignadas y mandar orden al simulador 3.Leer el estado del simulador para mostrar el estado del teclado 4.Implementar funciones duración y tono. 5.Usar Makefile y Depurador (TD) Opcional: Melodías pre-seleccionadas Teclado ampliado Sonidos a otras escalas Efectos… APM-Septiembre-2009

8 ETC-II APM-Octubre-2007 Práctica 1 Ejemplo APM-Septiembre-2009 Estado nota Lo gestiona el simulador pero lo lee el programa Driver en memoria

9 ETC-II APM-Octubre-2007 Práctica 1 entregables Práctica 1: Entregables Programa: piano.asm Fichero: Makefile Librerias: Opcionales (VGA/Texto, Teclado, …) Simulador driver.com (INT 61H) Generador Notas musicales Práctica 1 Teclado Electrónico APM-Septiembre-2009

10 ETC-II APM-Octubre-2007 Práctica 1: Estructura Driver APM-Septiembre-2009 1.Se accede mediante interrupción software: INT61H 2.Nos ofrece servicios, seleccionables por el registro AH 3.Resto de registro para paso de parámetros 1.Configura vector 2.Deja parte residente en memoria Estructura Driver Parte 1: Instalación Parte 2: Residente en memoria Palabra de seguridad 0FECAH

11 ETC-II APM-Octubre-2007 Práctica 1: Servicios del Driver APM-Septiembre-2009 Servicios DriverParámetros entradaSalida INT 61HAHALCXSalida Identificación0--- AX = 0EE01H Desinstalar1--- AH = 00H Play Nota2Nota (1..13)---AH = 00H Play Frec3---Frec (*)AH = 00H Stop4--- AH = 00H Duración5 1 rápido 2 normal 3 lento ---AH = 00H Escala6 1 aguda 2 normal 3 grave ---AH = 00H Estado7--- AH = 00H AL = 01 suena AL = 0 no suena

12 ETC-II APM-Octubre-2007 Práctica 1: Comprobación Driver APM-Septiembre-2009 Offset Segmento Int #0 Int #1 Int #61H 2 bytes 0 2 4 6 184H 186H Tabla Interrupciones 0FECAH +3 IRET Servicios Driver MOV AH, 0 INT 61H CMP 0EE01H 1º 2º 3º Comprobamos Servicio Identificación Comprobamos que hay algo en memoria Memoria

13 ETC-II APM-Octubre-2007 Práctica 2 Práctica 2: Diseño driver generador de notas Hacer un driver que use el TMR2 y el RTC para generar un tono a la frecuencia de cada nota musical. Este driver sustituirá al proporcionado en la práctica anterior. Opcional: Que el driver saque sonidos por el puerto paralelo Práctica 2 Driver INT 61H Generador Notas musicales por TMR y RTC Práctica 1 Teclado Electrónico APM-Septiembre-2009

14 ETC-II APM-Octubre-2007 Práctica 3 Práctica 3: Interacción de Ensamblador con el Lenguaje C Hacer un programa en C y una librería intermedia que llame al driver anterior y reproduzca canciones escritas en un fichero. Opcional: Tener un teclado y poder reproducir y guardar canciones. Driver INT 61H Generador Notas musicales por TMR y RTC Practica 3 Programa en C para leer canciones de fichero Librería en ASM que hace de interfaz entre C y el driver APM-Septiembre-2009


Descargar ppt "ETC-II APM-Octubre-2007 Universidad Autónoma de Madrid Escuela Politécnica Superior ETC-II APM-Septiembre-2009 Laboratorio de Estructura y Tecnología de."

Presentaciones similares


Anuncios Google