%
% GSE 1994.
% Arquitectura de Computadores.

\documentstyle[spanish]{article}

\begin{document}
\centerline{\bf Practicas de Arquitectura de Computadores. 1994-1995.}

\begin{enumerate}
\item {\bf Introducci\'on al ensamblador. Instrucciones y directivas.}\\
Introduccion al lenguaje ensamblador de la fam'ilia 80x86. Un peque~no
ejemplo.

\item {\bf Uso de procedimientos.}\\
Se estudia una nueva forma de especificar los segmentos
mediante una macro construida en el para el TASM. Estudiaremos la forma de
crear procedimientos y como llamarlos. Esto nos ayudar\'a a estructurar un
poco
nuestros programas y a ver el concepto de variables locales al
procedimiento.
Tendremos que decidir la forma de paso de par\'ametros (mediante pila o
mediante registros) y que pasa con las variables locales que queremos
almacenarlas sobre registros. Tambi\'en usaremos nuevos servicios de MS-DOS
y
de la BIOS de nuestra computadora.

\item {\bf Lectura del byte del equipo.}\\
Muchas de las operaciones de los PC y PS/2 se controlan por datos
almacenados en posiciones de baja memoria, particularmente en las
dos \'areas adyacentes de 256 bytes que comienzan en los segmentos
40H y 50H (direcciones 0040:0000H y 0050:0000H).
La ROM BIOS utiliza los bytes almacenados de 0040:0000H a 0040:00FFH como un
\'area de datos para sus rutinas de teclado, v\'{\i}deo, disco, impresora y
comunicaciones. Los 256 bytes que van de 0050:0000H a 0050:00FFH
los utiliza, principalmente, el BASIC, aunque ah\'{\i} tambi\'en se
almacenan
unas pocas variables de estado de la ROM BIOS.
Los datos son cargados por el BIOS en estas \'areas durante el
proceso de inicializaci\'on. Aunque se supone que los datos de control
son de uso privado del BIOS, el DOS y el BASIC, los programas que
usted haga pueden inspeccionarlos o cambiarlos. Incluso si no
trata de utilizar la informaci\'on de estas \'areas de control, es muy
provechoso estudiarla, ya que revela una gran cantidad de detalles
sobre la manera en que funciona la familia PC. En esta practica, usamos una
palabra de informaci'on disponible en este area, para leer el llamado byte
del equipo.

\item {\bf Programaci\'on del temporizador del IBM PC.}\\
En esta pr\'actica aprenderemos a usar el temporizador del IBM PC. De esta
forma estamos en la disposici\'on de ejecutar funciones (escritas en
ensambador
o en C, Pascal, ...) cada cierto intervalo de tiempo, sin la necesidad de
que
lo indiquemos con ninguna llamada a esa funci\'on. Esto es \'util en
situaciones en las que de forma intermitente deseamos que nuestra
computadora
realice una determinada tarea.

\item {\bf Programaci\'on del teclado del IBM PC.}\\
La filosof\'{\i}a original del sistema operativo MS-DOS fue la de manejar
los
dispositivos externos de forma que cada uno de ellos se gestionara a
trav\'es
de una interrupci\'on (hardware o software). Posteriormente, con el DOS 2.0
y
siguientes, se a\~nadi\'o soporte en el S.O. para menejadores instalables
con
una interfaz de alto nivel para el programador. Se instalan definiendo en
el fichero CONFIG.SYS un campo DEVICE con el nombre del manejador a
instalar. En la pr\'actica que proponemos vamos a seguir el primer m\'etodo,
programando una rutina de interrupci\'on para el manejador de teclado,
implementada como una rutina residente (TSR).

\item {\bf Dise\~no de un controlador de rat\'on.}\\
EL principal enlace de comunicaciones en el IBM PC es el puerto serie. Su
nombre t\'ecnico es RS-232-C, y fu\'e desarrollado por Electronics
Industries
Association (EIA). En las comunicaciones serie, los datos se trasmiten como
una
serie de pulsos el\'ectricos que son enviados a trav\'es de una \'unica
l\'{\i}nea de comunicaci\'on. En esto se diferencia del m\'etodo de
comunicaci\'on paralela (a trav\'es de multiples l\'{\i}neas). En esta
practica aprendemos a leer informaci'on del puerto serie, que envia nuestro
rat'on, usando interrupciones.

\end{enumerate}
\end{document}
