![Page 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](https://reader036.vdocuments.co/reader036/viewer/2022062418/5536e17055034617668b48dd/html5/thumbnails/1.jpg)
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
![Page 2: 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](https://reader036.vdocuments.co/reader036/viewer/2022062418/5536e17055034617668b48dd/html5/thumbnails/2.jpg)
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 driverAprender la interacción con los recursos hardwareAprender la interacción entre C y Lenguaje ensamblador
Conocimientos:Programación y depuración 8086Funcionamiento de interrupciones softwareComunicación con programas residentesTimer del PC (interrupción 0x1C , generación de sonidos)RTCUso de la pila para paso de parámetros
APM-Septiembre-2009
![Page 3: 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](https://reader036.vdocuments.co/reader036/viewer/2022062418/5536e17055034617668b48dd/html5/thumbnails/3.jpg)
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 sonoraSeñal Eléctrica conectada al altavoz
PC
![Page 4: 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](https://reader036.vdocuments.co/reader036/viewer/2022062418/5536e17055034617668b48dd/html5/thumbnails/4.jpg)
ETC-II
APM-Octubre-2007
Escala musical temperada
APM-Septiembre-2009
Nota Frec Hz Tecla
1 DO 261,626 C
2 DO# 277,183 C#
3 RE 293,665 D
4 RE# 311,127 D#
5 MI 329,628 E
6 FA 349,228 F
7 FA# 369,994 F#
8 SOL 391,995 G
9 SOL# 415,305 G#
10 LA 440 A
11 LA# 466,164 A#
12 SI 493,883 B
13 DO 523,251
f 2f
12
2Relación entre una nota y la siguiente
![Page 5: 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](https://reader036.vdocuments.co/reader036/viewer/2022062418/5536e17055034617668b48dd/html5/thumbnails/5.jpg)
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
![Page 6: 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](https://reader036.vdocuments.co/reader036/viewer/2022062418/5536e17055034617668b48dd/html5/thumbnails/6.jpg)
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
![Page 7: 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](https://reader036.vdocuments.co/reader036/viewer/2022062418/5536e17055034617668b48dd/html5/thumbnails/7.jpg)
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 simulador3. Leer el estado del simulador para mostrar el estado del teclado4. Implementar funciones duración y tono.5. Usar Makefile y Depurador (TD)
Opcional: Melodías pre-seleccionadasTeclado ampliadoSonidos a otras escalasEfectos…
APM-Septiembre-2009
![Page 8: 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](https://reader036.vdocuments.co/reader036/viewer/2022062418/5536e17055034617668b48dd/html5/thumbnails/8.jpg)
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
![Page 9: 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](https://reader036.vdocuments.co/reader036/viewer/2022062418/5536e17055034617668b48dd/html5/thumbnails/9.jpg)
ETC-II
APM-Octubre-2007
Práctica 1 entregables
Práctica 1: Entregables
Programa: piano.asmFichero: MakefileLibrerias: Opcionales (VGA/Texto , Teclado, …)
Simulador
driver.com(INT 61H)
Generador Notas musicales
Práctica 1
Teclado Electrónico
APM-Septiembre-2009
![Page 10: 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](https://reader036.vdocuments.co/reader036/viewer/2022062418/5536e17055034617668b48dd/html5/thumbnails/10.jpg)
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 vector2.Deja parte residente en memoria
Estructura Driver
Parte 1: Instalación
Parte 2: Residente en memoria
Palabra de seguridad 0FECAH
![Page 11: 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](https://reader036.vdocuments.co/reader036/viewer/2022062418/5536e17055034617668b48dd/html5/thumbnails/11.jpg)
ETC-II
APM-Octubre-2007
Práctica 1: Servicios del Driver
APM-Septiembre-2009
Servicios Driver Parámetros entrada Salida
INT 61H AH AL CX Salida
Identificación 0 --- --- AX = 0EE01H
Desinstalar 1 --- --- AH = 00H
Play Nota 2 Nota (1..13) --- AH = 00H
Play Frec 3 --- Frec (*) AH = 00H
Stop 4 --- --- AH = 00H
Duración 51 rápido2 normal3 lento
--- AH = 00H
Escala 61 aguda2 normal3 grave
--- AH = 00H
Estado 7 --- ---AH = 00H
AL = 01 suenaAL = 0 no suena
![Page 12: 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](https://reader036.vdocuments.co/reader036/viewer/2022062418/5536e17055034617668b48dd/html5/thumbnails/12.jpg)
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, 0INT 61HCMP 0EE01H
1º
2º
3º Comprobamos Servicio Identificación
Comprobamos que hay algo en memoria Memoria
![Page 13: 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](https://reader036.vdocuments.co/reader036/viewer/2022062418/5536e17055034617668b48dd/html5/thumbnails/13.jpg)
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 2Driver
INT 61H
Generador Notas musicales por TMR y RTC
Práctica 1
Teclado Electrónico
APM-Septiembre-2009
![Page 14: 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](https://reader036.vdocuments.co/reader036/viewer/2022062418/5536e17055034617668b48dd/html5/thumbnails/14.jpg)
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