GOBIERNO CONSTITUCIONAL DEL ESTADO LIBRE Y SOBERANO DE OAXACA INSTITUTO ESTATAL DE EDUCACIÓN PÚBLICA DE OAXACA COORDINACIÓN GENERAL DE PLANEACIÓN EDUCATIVA COORDINACIÓN GENERAL DE EDUCACIÓN MEDIA SUPERIOR Y SUPERIOR PROGRAMA DE ESTUDIOS NOMBRE DE LA ASIGNATURA: LENGUAJE ENSAMBLADOR CICLO SEXTO SEMESTRE CLAVE DE LA ASIGNATURA 3063 TOTAL DE HORAS 85 OBJETIVOS GENERALES DE LA ASIGNATURA: Proporcionar al estudiante los conocimientos fundamentales del lenguaje ensamblador y con esto pueda explotar las capacidades del hardware de la computadora a bajo nivel en forma eficiente. 1. TEMAS Y SUBTEMAS FUNDAMENTOS DEL LENGUAJE ENSAMBLADOR. 1.1. Organización de la computadora. 1.2. Lenguaje máquina y lenguaje ensamblador. 1.3. Importancia del lenguaje ensamblador. 1.4. Aplicaciones del lenguaje ensamblador. 1.5. Tipos de lenguajes ensambladores. 1.6. Lenguajes ensambladores y lenguajes de alto nivel. 1.7. Estructura de un programa en ensamblador. 1.8. Ensamble, enlace y ejecución. 1.9. El entorno de programación. 2. ELEMENTOS DEL LENGUAJE. 2.1. Formato de las instrucciones. 2.2. Definición de datos. 2.3. Instrucciones básicas, de transferencia de datos y Aritméticas. 2.4. Manipulación de bits. 2.5. Ramas y Lazos. 2.6. Interrupciones básicas de E/S. 3. PROCEDIMIENTOS Y MACROS. 3.1. Programación modular. 3.2. La pila. 3.3. Direccionamiento indirecto. 3.4. Procedimientos. 3.5. Macros. 4. ARREGLOS. 4.1. Direccionamiento indexado. 4.2. Declaración de arreglos. 4.3. Acceso a los elementos del arreglo. 4.4. Arreglos multidimensionales. 4.5. Cadenas. 5. MANEJO DE INTERRUPCIONES. 5.1. Definición de interrupción. 5.2. Interrupciones de video. 5.3. Interrupciones de teclado. 5.4. Interrupciones de la impresora. 5.5. Interrupciones de llamadas a servicios del sistema. 6. PUNTO FLOTANTE. 6.1. Representación en punto flotante. 6.2. Aritmética de punto flotante. 6.3. El coprocesador numérico: Hardware e Instrucciones. 7. PROGRAMACIÓN HIBRIDA. 7.1. Directivas para compilación hibrida. 7.2. Funciones en ensamblador. 7.3. Integración de módulos de ensamblador con lenguajes de alto nivel. 8. MANEJO DE DISPOSITIVOS. 8.1. Puerto serial. 8.2. Puerto paralelo. ACTIVIDADES DE ENSEÑANZA-APRENDIZAJE: Exposición y análisis de cada tema del programa con ejercicios de diversa dificultad que permitan visualizar el comportamiento de los programas realizados en lenguaje de bajo nivel en comparación con los realizados en lenguaje de alto nivel. Realización de diversas prácticas de laboratorio que validen los conocimientos adquiridos en el aula. Exposición de trabajos, lluvias de ideas etc., que motiven la participación del alumno en clase. CRITERIOS Y PROCEDIMIENTOS DE EVALUACIÓN Y ACREDITACIÓN: Al inicio del curso el profesor indicará el procedimiento de evaluación para la obtención de la calificación final, de la cual el 50% lo representará el promedio de las calificaciones parciales y el otro 50 % el examen ordinario. Para tener derecho a cada evaluación, el alumno deberá cumplir con un mínimo de 85% de asistencia. BIBLIOGRAFÍA (TIPO, TÍTULO, AUTOR, EDITORIAL Y AÑO): BÁSICA Lenguaje ensamblador para microcomputadoras IBM: para principiantes y avanzados, J. Ferry Godfrey. Prentice Hall. 1991. Introducción al Microprocesador 8086/8088, Christopher L. Morgan & Mitchell Waite, Editorial McGraw Hill, 1991. 80386/80286 Programación en Lenguaje Ensamblador, William H. Murria III && Chris H. Pappas, Editorial McGrawHill. 1987. Lenguaje Ensamblador y Programación para PC IBM y Compatibles, Peter Abel, Editorial Prentice Hall, 1996. CONSULTA Ensamblador para DOS, Linux y Windows, Francisco Charte Ojeda, Editorial Anaya Multimedia, 2003. Los Microprocesadores de Intel, Barry B. Brey, Quinta edición, Editorial Prentice Hall, 2003. 32/64-bit 80x86 Assembly Language Architecture, James Leiterman, Quinta edición, Editorial Wordware Publishing INC., 2005. PERFIL PROFESIONAL DEL DOCENTE: Maestría o doctorado en ciencias de la computación, electrónica o área afín. Experiencia profesional y docente mínima de 1 año.