115113 Software de Base
Trimestre 2007 Invierno
Instructor: Dr. Francisco
Javier Zaragoza Martínez.
Inicio y fin del curso: lunes
15
de enero a viernes 30 de marzo.
Grupo: CCT01 (lunes,
miércoles y viernes de 9:00 a 10:00).
Asesorías: lunes,
miércoles y viernes de 11:30 a 13:00, martes de 9:00 a 10:00 y
de 16:00 a 18:00 en la oficina H-264.
Salón: E-306.
Cupo: 25 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.
La calificación del curso consta de 50 puntos obtenidos mediante
un proyecto de programación dividido en varias etapas alrededor
del microprocesador 6502 ó 6510, 30
puntos obtenidos mediante exámenes
parciales
y 20 puntos obtenidos mediante tareas. No
habrá examen global. Además de obtener 18 puntos
en los exámenes y 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.
Calendario
El calendario de clases, de entrega de tareas y de
exámenes escritos que muestro abajo es tentativo e irá
apareciendo paulatinamente. Podrán conectarse con SSH a la
máquina
gabrijela.azc.uam.mx (148.206.67.155) usando la cuenta proporcionada de
Linux (Fedora Core 6). Si aún no tienes tu cuenta, ven a verme a
mi oficina en horas de asesoría. Aquí están las notas completas del curso y una versión
más amigable con tu impresora.
- 15/01: Inicio del
curso. Introducción.
- 17/01: Software de
aplicación y software de base
(páginas 1 a 10).
- 19/01: Estructura
del SIC (páginas 11 a 19).
- 22/01: Formatos de
instrucción del SIC/XE (páginas
20 a 26).
- 24/01: Modos de
direccionamiento del SIC/XE (páginas 27 a
33).
- 26/01: Funciones
básicas de un ensamblador (páginas
34 a 40).
- 29/01:
Código objeto (páginas 41 a 50). Tarea
1 (para el 09/02).
- 31/01: Tablas y
lógica de un ensamblador
(páginas 51 a 61, figura 2.4
de las copias).
- 02/02: Dependencia de la máquina (páginas 62 a 71).
Tarea 2 (para el 16/02).
- 05/02: No hay clases (día feriado). Primera parte del proyecto (para el 23/02).
- 07/02: Primera sesión de preguntas sobre el proyecto.
- 09/02: Primer examen
parcial (de 8:30 a
10:00, páginas 1 a 71, traer el
apéndice A de las copias). Segunda parte del proyecto (para el 09/03).
- 12/02: Relocalización de programas (páginas
72 a 81).
- 14/02: Literales (páginas 82 a 91).
- 16/02: Símbolos y expresiones (páginas 92 a 98).
- 19/02: Bloques de programa (páginas 99 a 108). Tarea 3 (para el 05/03).
- 21/02: Secciones de control (páginas 109 a 117).
- 23/02: Registros de modificación y ensambladores de carga
y ejecución (páginas 118 a 126). Tercera parte del proyecto (para el 23/03).
- 26/02 y 28/02: No hay clases (estaré
en una conferencia).
- 02/03: Ensambladores de uno y varios pasos (páginas
127 a 133).
- 05/03: Segunda sesión de preguntas sobre el proyecto.
- 07/03: Algoritmo de un cargador básico (páginas 134
a 150).
- 09/03: Algoritmo del cargador ligador (páginas 151 a 154).
- 12/03: Segundo examen
parcial (de 8:30 a
10:00, páginas 72 a 154).
- 14/03: Búsqueda automática en biblioteca y opciones
del cargador (páginas 155 a 163). Cuarta parte del proyecto
(para el 04/04).
- 16/03: Programas con superposiciones (páginas 164 a 177). Tarea 4 (para el 30/03).
- 19/03: Opciones de diseño del cargador (páginas 178
a 186).
- 21/03: No hay clases (día feriado).
- 23/03: Macroprocesadores básicos (páginas 187 a
196).
- 26/03: Tercera sesión de preguntas sobre el
proyecto.
- 28/03: Algoritmo del macroprocesador, concatenación de
parámetros y etiquetas únicas (páginas 197 a 207).
- 30/03: Expansión condicional, parámetros con
palabras clave y opciones de diseño (páginas 208 a 216).
Fin del curso.
- 04/04: Tercer examen
parcial de 8:30 a 10:00 (páginas 155 a 216).
Bibliografía