Académique Documents
Professionnel Documents
Culture Documents
Resulta importante destacar que la belleza esttica no es una caracterstica primordial de esta prctica. El objetivo es demostrar un cierto dominio de la programacin ensamblador y del manejo de las interrupciones para interactuar con los perifricos de E/S. Por ejemplo, una forma sencilla de crear el espacio de juego es delimitar un recuadro y pintarlo de un color distinto al resto de la pantalla, evitndose tener que dibujar los bordes. Adems, la plataforma, la bola y los bloques pueden crearse simplemente usando caracteres del teclado que se consideren apropiados; el movimiento puede realizarse borrando caracteres y volvindolos a escribir en otra parte. Tampoco es necesario elaborar animaciones complejas para la destruccin de los bloques, basta con que desaparezcan.
Perifricos e Interfaces Curso 2010 2011 ______________________________________________________________________ Se valorar cualquier mejora que se aplique a este diseo inicial. Hay muchas opciones posibles, aunque no sern exigidas para aprobar: Variaciones en la velocidad de la bola. Variaciones en el tamao de la plataforma. Bloques especiales (que haya que golpear varias veces, que cambien la direccin de rebote, que aumenten el nmero de vidas) Y un largo etctera. Al concluir el periodo establecido para la realizacin de la prctica, los alumnos defendern el programa realizado ante el profesor en el laboratorio durante las fechas determinadas para cada convocatoria. Tambin presentarn el programa, correctamente estructurado y comentado, junto con una memoria que detalle su funcionamiento interno y el proceso de desarrollo que se ha llevado a cabo, as como los problemas que pudieran haber surgido durante el trabajo, las soluciones adoptadas y, en general, el porqu de las decisiones de diseo tomadas. Una correcta ortografa y gramtica se considera indispensable para la escritura de la memoria. Este documento tendr un mximo de diez pginas y ser entregado en formato electrnico (preferiblemente PDF) siguiendo el procedimiento indicado para ello por el profesorado de la asignatura. En la memoria se har especial hincapi en las interrupciones utilizadas por el programa, describiendo su funcionamiento y los usos concretos que se les han dado. Adems, se valorar especialmente el apartado de conclusiones del trabajo, donde los alumnos expondrn sus opiniones, fruto de la experiencia, acerca del ensamblador 8086, la programacin en este entorno y la interaccin con los perifricos por medio de interrupciones. En ningn caso se incorporar a la memoria el cdigo fuente, ya sea en su totalidad o en parte. Como se ha mencionado anteriormente, el programa se entregar por separado y debidamente comentado, por lo que incorporarlo a la memoria sera equivalente a presentarlo por duplicado y, por tanto, se considerara un relleno injustificado. Por supuesto, tambin se considerar inapropiado copiar cualquier parte de este enunciado para utilizarlo en la memoria. La nota final de la prctica se establecer en funcin de la defensa realizada por los alumnos en el laboratorio y de la calidad de la memoria presentada de acuerdo con el siguiente baremo: Defensa: 6 puntos o Funcionamiento correcto del programa completo: 2 puntos o Explicaciones acertadas y dominio del tema: 2 puntos o Limpieza y estructuracin del cdigo: 1 punto o Ampliaciones y mejoras: 1 punto Memoria: 4 puntos 1 punto o Presentacin, gramtica y ortografa: 1 punto o Descripcin del funcionamiento del programa: 1 punto o Descripcin del uso de las interrupciones: 1 punto o Conclusiones y valoracin personal:
La Pantalla del PC
Las imgenes de la pantalla del PC estn compuestas por unidades llamadas pxel. El adaptador o controlador de pantalla es un circuito que sirve de interfaz entre el procesador y la pantalla. Este controlador dispone de puertos que permiten la comunicacin entre el procesador y la pantalla, as como de una memoria que contiene el valor de cada pxel. Segn el adaptador, la memoria puede funcionar en modo grfico o en modo texto, en el que slo se representan caracteres. Cuando funciona en modo texto, la pantalla es como una matriz de 80 columnas por 25 filas donde cada celda de la matriz representa un carcter. Esta matriz es almacenada en la memoria de pantalla por filas, codificndose cada carcter en una palabra de 16 bits que contiene el cdigo ASCII en el byte menos significativo, mientras que el byte ms significativo contiene el atributo de visualizacin. El valor normal del atributo es gris sobre negro, que se codifica 07h.
En esta figura se muestra la relacin existente entre la pantalla y la memoria del controlador de pantalla. Para visualizar un carcter en la posicin (i,j) de la pantalla debe escribirse su cdigo ASCII y el atributo correspondiente en la celda (i,j) de la matriz que representa la pantalla. Puesto que la matriz est almacenada por filas en posiciones consecutivas de memoria, la celda (i,j) corresponder a la palabra 80*i+j de la memoria de pantalla, esto es, el cdigo ASCII y el atributo de visualizacin se almacenarn en los bytes: dir_memoria_pantalla + 2 * (80 * i + j) dir_memoria_pantalla + 2 * (80 * i + j) + 1
El Teclado del PC
El controlador del teclado del PC est explorando continuamente la matriz de teclas. Cuando se detecta la pulsacin de una tecla, el cdigo de pulsacin de la tecla se almacena en una memoria. Este cdigo es un nmero de 8 bits que tendr el bit ms significativo a cero. Si una tecla permanece pulsada ms de medio segundo, el controlador colocar repetidamente su cdigo en la memoria. Cuando se detecta la liberacin de una tecla, el cdigo de liberacin de la tecla se almacena en la memoria del controlador. Este cdigo es idntico al de pulsacin, pero con el bit ms significativo a uno.
La memoria de teclas acta como una cola con capacidad para un nmero concreto de cdigos. Siempre que la memoria de teclas no est vaca, el controlador colocar el cdigo ms antiguo de los almacenados en ella en un registro que ocupa la direccin 60h del espacio de direcciones de entrada/salida, activando una interrupcin para que el procesador se percate de que tiene un carcter disponible. Es importante tener en cuenta que el cdigo de pulsacin/liberacin de cada tecla no tiene nada que ver con el cdigo ASCII del carcter correspondiente. El nmero de teclados existentes en el mercado es muy grande y, aunque para muchas teclas el cdigo es siempre el mismo, cada teclado puede utilizar cdigos diferentes para ciertas teclas especficas.
Bibliografa Recomendada
8088-8086/8087 Programacin Ensamblador en Entorno MS DOS M.A. Rodrguez Rosell. Anaya. 80386/80286 Programacin en Lenguaje Ensamblador. W.H. Murray y C.H. Papas. McGraw-Hill. Lenguajes ensambladores. R. Martnez Toms. Paraninfo. Turbo Assembler 3.0 Users Guide. Borland.