115113 Software de Base
Trimestre 2009 Primavera
Instructor: Dr. Francisco
Javier Zaragoza Martínez.
Inicio y fin del curso: lunes
18 de mayo a miércoles 29 de julio de 2009.
Grupo: CCT81 (martes y jueves
de 17:30
a
19:00).
Asesorías: lunes y
miércoles de 15:15 a 17:30 en la
oficina H-264.
Salón: E-309.
Cupo: 40 estudiantes incluyendo
a los
oyentes.
Contenido
Se cubrirá el contenido
oficial del curso (el cual se detalla
abajo). Es posible que el temario se cubra en un
orden distinto al allí mencionado.
- Descripción general de la estructura de una computadora.
- Lenguaje de máquina.
- Diseño de sistemas de programación.
- Ensamblador.
- Cargador y ligador.
- Macro-procesador.
Evaluación
La calificación del curso consta de 50 puntos obtenidos mediante
un proyecto de programación
dividido en varias etapas usando el
microprocesador Zilog
Z80 y 50
puntos obtenidos mediante dos
exámenes
parciales. No
habrá examen global. Además de obtener al menos 30
puntos
en los exámenes y al menos 30 puntos en el proyecto, se
requiere:
- obtener al menos un total de 60 puntos para acreditar con S,
- obtener al menos un total de 73 puntos para acreditar con B y
- obtener al menos un total de 87 puntos para acreditar con MB.
Las tareas y el proyecto se podrán entregar por correo
electrónico a
la cuenta sb en callix
y
podrán estar escritas en C, C++, Java o Pascal. Su cuenta
está en la misma máquina, a la que se pueden conectar con
ssh y que tiene
dirección IP 148.206.79.29.
Recuerden que, de acuerdo al Reglamento de
Alumnos de la UAM, es falta de los alumnos en contra de la
Institución el suplantar o permitir ser suplantado en la
realización de actividades académicas (Artículo 9)
y se impondrá desde amonestación escrita hasta
suspensión por dos trimestres (Artículo 13).
Calendario
El calendario de clases, de entrega de etapas del proyecto y de
exámenes escritos que muestro abajo es tentativo e irá
apareciendo paulatinamente. He anotado los números
de página de las notas a la derecha
de cada
tema.
- 19/05: Inicio del
curso. Software de aplicación y software de base (1-10).
- 21/05: Estructura del SIC y SIC/XE (11-25).
- 26/05: Formatos de instrucción del SIC/XE (26-36).
- 28/05: Ensamblador simple y código objeto (37-51).
- 02/06: Tablas y lógica del ensamblador (52-67).
- 04/06: Primera sesión de preguntas sobre el proyecto.
- 09/06: Modos de direccionamiento del SIC/XE (68-80).
- 11/06: Relocalización de programas (81-91).
- 16/06: Literales,
símbolos y expresiones (92-110). Entrega de cuentas. Calificaciones del primer
parcial.
- 18/06: Primer examen
parcial: Modos de direccionamiento y ensambladores (1-110).
- 23/06: Bloques de programa y secciones de control (111-124).
- 25/06: Ensamblado con símbolos externos (125-135).
- 30/06: Segunda sesión de preguntas sobre el proyecto.
- 02/07: Clase cancelada
por falta de energía eléctrica.
- 07/07: Opciones de diseño del ensamblador (136-147).
- 09/07: Cargadores básico y relocalizador (148-160).
- 14/07: Ligado y relocalización (161-174).
- 16/07: Clase cancelada
por no poder abrir el salón.
- 21/07: Opciones de ligado independientes de la máquina
(175-192).
- 23/07: Opciones de diseño del cargador (193-210).
- 28/07: Segundo
examen parcial: Secciones de control, cargadores y ligadores
(111-210).
- 30/07: Tercera sesión de preguntas sobre el proyecto (16:00 a 17:30 en el B302).
- ??/??: Macroprocesadores básicos y algoritmo del
macroprocesador (211-235).
- ??/??: Expansión condicional, parámetros con
palabras clave y opciones de diseño (236-248).
- 04/08: Revisión del proyecto
(09:40 a 11:20 y 16:00 a 18:00).
- 05/08: Revisión del proyecto
(09:40 a 13:00).
- 06/08: Calificaciones finales.
- 08/09: Examen de recuperación (10:00 a 13:00, salón
por definirse).
Bibliografía
- Beck. System Software: An Introduction to
Systems Programming. Addison Wesley.
[Los capítulos 1 a 4 contienen todo el temario del
curso.]
- Brookshear. Introducción
a las ciencias de la computación. Addison Wesley.
- Donovan. Systems Programming. Mc Graw Hill.
- Kernighan y Pike. El
entorno de programación UNIX. Prentice Hall.
- Kernighan y Pike. La
práctica de la programación. Prentice Hall.
- Kleitz. Microprocessors and Microcontroller Fundamentals: the
8085 and 8051 Hardware and Software. Prentice Hall.
- Levine, G. Computación
y programación moderna. Addison Wesley. [Los
capítulos 3 y 5 contienen una introducción al curso.]
- Levine, J. Linkers &
Loaders. Morgan Kaufmann Publishers. [Este libro puede verse como
una continuación del capítulo 5 del curso.]
- Mostek. Z80
Microcomputer Devices Technical Manual.
- Ullman. Fundamental Concepts of Programming Systems. Addison
Wesley.
- Zilog. Z80
Product Family.