INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS PROGRAMA SINTÉTICO CARRERA: Ingeniería en Computación. ASIGNATURA: Lenguajes de Bajo Nivel. SEMESTRE: Tercero OBJETIVO GENERAL: El alumno formulará programas en lenguaje ensamblador, para integrarlos en aplicaciones de arquitecturas como la X86 de Intel. CONTENIDO SINTÉTICO: I. Microprocesadores II. Instrucciones de un microprocesador III. Programación en lenguaje ensamblador. IV. Codificación de operandos decisiones y repeticiones. V. Macros VI. Conversión de formato de datos METODOLOGÍA: Participación de los alumnos con la guía del profesor, en la búsqueda y análisis de la información que permita la integración de los aspectos teóricos, prácticos, y la solución de problemas EVALUACIÓN Y ACREDITACIÓN: Tres exámenes departamentales. Entrega de trabajos realizados en clase, tareas y prácticas de laboratorio. Participación en actividades individuales y de equipo. BIBLIOGRAFIA. Barry B.Brey Los Microprocesadores Intel Arquitectura de Programación e Interfases Prentice Hall. 5ª Ed. 2004. Andrew S. Tanenbaum Organización de Computadoras Pearson. 3ª Ed.2002. Programmers Guia de Microsoft Masm 6.0 Microsoft Corporation. 2002. INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA Unidad Culhuacan. CARRERA: Ingeniería en Computación. OPCIÓN: COORDINACIÓN: Academia de Microprocesadores DEPARTAMENTO: Ingeniería en Computación. ASIGNATURA: Lenguajes de Bajo Nivel SEMESTRE: Tercero CLAVE: CRÉDITOS: 9.0 VIGENTE: TIPO DE ASIGNATURA: Teórico-Práctica MODALIDAD: Escolarizada TIEMPOS ASIGNADOS HORAS/SEMANA/TEORÍA: 3.0 HORAS/SEMANA/PRÁCTICA: 3.0 HORAS/SEMESTRE/TEORÍA: 54 HORAS/SEMESTRE/PRÁCTICA:54 HORAS/TOTALES: 90 PROGRAMA ELABORADO O ACTUALIZADO POR: Academia de Microprocesadores de la ESIME Culhuacan REVISADO POR: Subdirección Académica de ESIME Culhuacan APROBADO POR: Consejo Técnico Consultivo Escolar de ESIME Culhuacan. Ing. Fermín Valencia Figueroa AUTORIZADO POR: Comisión de Planes y Programas del Consejo General Consultivo. INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: Lenguajes de Bajo Nivel. CLAVE HOJA: 2 DE 11 FUNDAMENTACIÓN DE LA ASIGNATURA La programación de una computadora puede efectuarse a diferentes niveles de abstracción, mientras la programación se asemeje mas a la expresión humana será de más alto nivel; por el contrario, mientras se asemeje mas a la forma en que debe adaptarse a los formatos de una computadora, será un lenguaje de más bajo nivel; los lenguajes de bajo nivel se relacionan estrechamente con un tipo de computadora, o microprocesador, en particular. La lógica de programación de la materia“fundamentos de programación” le permitirá al alumno obtener cierta técnica en la estructuración de programas para esta materia. La fuerte comercialización de la familia de microprocesadores INTEL, x86, hace indispensable su conocimiento y manejo a diversos niveles, desde su arquitectura, conjunto de instrucciones hasta la programación a bajo nivel para mejor explotación en altos niveles. La aplicación de las herramientas propuestas en las unidades de este curso permitirán la optimización de código y mejor organización de variables, módulos y procedimientos en los programas elaborados, así como estructuración de datos más simples o complejos, según sea requerido, y la disponibilidad de toda la potencialidad de operación para programas, adecuadamente ensamblados, que podrán ser aplicados en las materias: gratificación, base se datos, compiladores, métodos numéricos, etc. El perfil de programa considera que el alumno tiene conocimientos propuestos en un lenguaje de alto nivel como programación en lenguaje C. Las materias que le anteceden son fundamentos de programación, programación orientada a objetos, de la misma manera las materias consecuentes son circuitos lógicos II, organización de computadoras, y arquitectura de computadoras. OBJETIVO DE LA ASIGNATURA El alumno formulará programas en lenguaje ensamblador, para integrarlos en aplicaciones de arquitecturas como la X86 de Intel. INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS CLAVE: ASIGNATURA: Lenguajes de Bajo Nivel. No. UNIDAD I HOJA: 3 DE 11 NOMBRE: Microprocesadores. OBJETIVOS PARTICULARES DE LA UNIDAD El alumno describirá las arquitecturas de los microprocesadores de distintas familias así explicará la arquitectura de Von Newman, a través de diferentes tipos de direccionamiento y diversas interrupciones. No. TEMA 1.1 1.1.2 1.1.3 1.1.4 1.1.5 Historia de los microprocesadores comerciales. Microprocesadores: 8085, 8080,8086. Microprocesadores: 80386, 80486, Pentium Microprocesadores: 68000, Power PC La ley de Moore 1.2 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 Arquitectura del microprocesador Von Newman Registro de direccionamiento a memoria. Registros de instrucciones. Contador de programa. Unidad aritmética y lógica. Unidad de control. Registro de banderas. Registro de propósito especial. TEMAS T 3.0 HORAS P CLAVE BIBLIOGRÁFICA EC 3.0 1B,2B 3.0 3.0 ESTRATEGIA DIDÁCTICA Recopilación de información general de distintas arquitecturas de microprocesadores, discusión en clase, con la guía del profesor, de las características, ventajas y desventajas. Explicación por parte del profesor, de la arquitectura de Von Newmann, proponiendo posteriormente ejercicios de relación entre sus unidades funcionales. PROCEDIMIENTO DE EVALUACIÓN El primer examen departamental abarcará las unidades I y II. Se evaluarán los ejercicios que el alumno realice, así como su participación en grupos de discusión, además de la búsqueda de información, exposición en clase y la elaboración de las prácticas de laboratorio . INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: Lenguajes de Bajo Nivel. No. UNIDAD I CLAVE: HOJA: 4 DE 11 NOMBRE: Microprocesadores. OBJETIVOS PARTICULARES DE LA UNIDAD El alumno describirá las arquitecturas de los microprocesadores de distintas familias así como explicar la arquitectura de Von Newman, a través de diferentes tipos de direccionamiento y diversas interrupciones. No. TEMA 1.3 1.3.1 1.3.2 1.3.3 Direccionamiento en memoria. Dirección base y corrimiento. Direcciones de periféricos. Registro de pilas (Stack). 1.4 1.4.1 1.4.2 1.4.3 Codificación de instrucciones. Constantes inmediatas. Operandos en registros. Operandos en memoria. 1.5 1.5 1.5 1.5 1.5.1 1.5.2 1.5.3 1.5.4 Interrupciones. Interrupciones enmascarables. Interrupciones no enmascarables. Excepciones. Controlador de interrupciones. 3.0 3.0 3.0 TEMAS T 3.0 HORAS P 3.0 CLAVE BIBLIOGRÁFICA EC 3.0 1B,2B ESTRATEGIA DIDÁCTICA Recopilación de información general de distintas arquitecturas de microprocesadores, discusión en clase, con la guía del profesor, de las características, ventajas y desventajas. Explicación por parte del profesor, de la arquitectura de Von Newmann, proponiendo posteriormente ejercicios de relación entre sus unidades funcionales. PROCEDIMIENTO DE EVALUACIÓN El primer examen departamental abarcará las unidades I y II. Se evaluarán los ejercicios que el alumno realice, así como su participación en grupos de discusión, además de la búsqueda de información, exposición en clase y la elaboración de las prácticas de laboratorio INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: Lenguajes de Bajo Nivel. No. UNIDAD II CLAVE: HOJA: 5 DE 11 NOMBRE: Instrucciones de un microprocesador. OBJETIVOS PARTICULARES DE LA UNIDAD El alumno empleará diversas instrucciones del microprocesador en programas y ejercicios utilizando para ello un simulador de lenguaje ensamblador como MASM, Turbo Assammbler. No. TEMA 2.1 2.2 2.3 2.4 2.5 2.5.1 2.6 2.6.1 2.6.2 2.7 2.7.1 2.7.2 2.7.3 2.8 TEMAS Instrucciones de movimiento de datos. Instrucciones aritméticas. Instrucciones lógicas. Instrucciones de cadenas. Instrucciones de control del contador de programa. Instrucciones de control del procesador. Instrucciones de entrada/salida. Puerto serial. Puerto paralelo. Instrucciones de interrupción. BIOS y DOS. Teclado, pantalla e impresora. Discos. Instrucciones de rotación y desplazamiento. T 3.0 HORAS P 6.0 sencillos, CLAVE BIBLIOGRÁFICA EC 3.0 1B,2B 3.0 3.0 3.0 3.0 3.0 3.0 4.5 4.5 4.5 ESTRATEGIA DIDÁCTICA Explicación del uso de cada conjunto de instrucciones por parte del profesor. Realización de ejercicios y programación en el simulador convenido, por equipo el alumno propondrá una explicación sencilla. PROCEDIMIENTO DE EVALUACIÓN Se evaluará el desempeño del alumno observando la metodología empleada en cada conjunto de ejercicios y en su sencilla aplicación. Se realizará un examen que abarcará los conocimientos adquiridos en las unidades I y II, así como los resultados obtenidos en las prácticas de laboratorio. INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: Lenguajes de Bajo Nivel. No. UNIDAD III CLAVE: HOJA: 6 DE 11 NOMBRE: Programación en lenguaje ensamblador. OBJETIVOS PARTICULARES DE LA UNIDAD El alumno construirá diversos programas, y obtendrá el programa ejecutable (ensamblado) para cada microprocesador descrito. No. TEMA 3.1 3.2 3.3 3.4 3.5 3.6 3.7 TEMAS Formato de lenguaje fuente. Marco de un programa. Definición de datos. Pseudo operaciones. Programa principal. Manejo de propuestas. Ensamblador, ligado y ejecución. HORAS CLAVE BIBLIOGRÁFICA T P EC 1.5 1.5 1.5 1B,2B 3.0 3.0 3.0 1.5 1.5 1.5 ESTRATEGIA DIDÁCTICA Explicación del procedimiento para ensamblar un programa por parte del profesor, en una arquitectura particular. Realización de diversos ejercicios propuestos. Análisis de resultado en diversos microprocesadores. PROCEDIMIENTO DE EVALUACIÓN El segundo examen departamental abarcará la unidad III evaluando conocimientos adquiridos. Se evaluará la habilidad del alumno en el diseño y ensamble de programas, así como los resultados obtenidos en las prácticas. Evaluación de ejercicios y resultados. INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: Lenguajes de Bajo Nivel. No. UNIDAD IV CLAVE: HOJA: 7 DE 11 NOMBRE: Codificación de operandos, decisiones y repeticiones. OBJETIVOS PARTICULARES DE LA UNIDAD El alumno diseñará un algoritmo para un problema definido, lo construirá y ensamblará en un lenguaje de alto nivel, como C. No. TEMA 4.1 4.2 4.3 4.4 4.5 4.6 TEMAS Direcciones de operandos. Nombres simbólicos y constantes. Atributos de variables. Decisiones. Saltos. Repeticiones. T 1.5 HORAS P 1.5 CLAVE BIBLIOGRÁFICA EC 1.5 1B,2B,3B 3.0 4.5 3.0 ESTRATEGIA DIDÁCTICA Recopilación de información acerca de instrucciones de decisión, en diversos microprocesadores. Explicación del uso de instrucciones en arquitecturas basadas en la plataforma Intel por el profesor. En equipos de discusión se enlistarán las ventajas y desventajas. Propuesta de distintos ejercicios de uso, así como una aplicación final, por parte del alumno bajo la guía del profesor. PROCEDIMIENTO DE EVALUACIÓN Se evaluará el desempeño del alumno en los equipos de discusión, además de la metodología para resolver los ejercicios y las aplicaciones propuestas, así como los resultados obtenidos en el laboratorio. INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: Lenguajes de Bajo Nivel. No. UNIDAD V CLAVE: HOJA: 8 DE 11 NOMBRE: Macros. OBJETIVOS PARTICULARES DE LA UNIDAD El alumno construirá diversos macros como parte de la optimización de un programa en lenguaje ensamblador. No. TEMAS TEMA 5.1 Definición y operación de macros. 5.2 Como crear macros. 5.2.1 Asignación de variables y constantes para el ensamblador. 5.2.2 Uso de parámetros en macros 5.2.3 Evaluación de parámetros en macros 5.3 Macros y subrutinas. 5.4 Ejercicios con macros. T 1.5 3.0 3.0 3.0 HORAS P CLAVE BIBLIOGRÁFICA 4.5 EC 1.5 3.0 3.0 3.0 3.0 3.0 1B,2B,3B ESTRATEGIA DIDÁCTICA Recopilación de información de los conceptos fundamentales del macro, en diferentes lenguajes. Discusión en equipos de las distintas características. Explicación de la obtención de un macro en ensamblador por parte del profesor, así como su uso. Propuesta de distintos ejercicios de uso, así como una aplicación final, por parte del alumno bajo la guía del profesor. PROCEDIMIENTO DE EVALUACIÓN El tercer examen departamental abarcará la unidades IV y V. Se evaluará la participación del alumno en la discusión establecida, así como los ejercicios desarrollados y sus prácticas de laboratorio. INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: Lenguajes de Bajo Nivel. No. UNIDAD V I CLAVE: HOJA: 9 DE 11 NOMBRE: Conversión de formato de datos OBJETIVOS PARTICULARES DE LA UNIDAD El alumno explicará las formas de empacar y desempacar datos alfabéticos en el lenguaje ensamblador, la codificación decimal, binaria y hexadecimal y efectuará conversiones entre códigos usando el lenguaje ensamblador. No. TEMA 6.1 6.2 6.3 6.4 6.5 TEMAS ASCII y datos desempacados. Datos empacados y desempacados. Decimal, binario y hexadecimal. Decimal codificado en binario. Utilerías. T 3.0 HORAS P 3.0 CLAVE BIBLIOGRÁFICA EC 3.0 3B 3.0 4.5 3.0 ESTRATEGIA DIDÁCTICA Realización de ejercicios elaboración de un programa que aborde un problema científico o tecnológico mediante su participación en equipo, donde los trabajos de cada uno de los equipos se integrarán para formar la aplicación final. PROCEDIMIENTO DE EVALUACIÓN Se evaluará el procedimiento para obtener la solución de la aplicación, así como la participación en clase, y los resultados obtenidos en las prácticas de laboratorio. INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: Lenguajes de Bajo Nivel. CLAVE: HOJA: 10 DE 11 RELACIÓN DE PRÁCTICAS PRACT. No. 1 2 3 4 5 6 7 8 9 NOMBRE DE LA PRÁCTICA Ensamblador y su ambiente Programación básica de ensamblador. Manejo de Interrupciones Rutinas de servicio Programación de rutinas Manejo de sistema Programación de Macros Manejo de cadenas y datos Comunicación con dispositivos periféricos UNIDAD DURACIÓN LUGAR DE REALIZACIÓN I I 1.5 6.0 Todas las prácticas se realizarán en el Laboratorio de Computación II II III IV V VI VI 7.5 9.0 6.0 6.0 10.5 3.0 4.5 INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS ASIGNATURA: Lenguajes de Bajo Nivel. PERÍODO UNIDAD CLAVE: HOJA: 11 DE 11 PROCEDIMIENTO DE EVALUACIÓN I I y II 10% - Análisis de información y exposición de temas. 10% - Programas y ejercicios desarrollados en clase y extra clase. 50% - Examen del periodo. 30% - Prácticas de laboratorio II III 10% - Programas y ejercicios desarrollados en clase y extra clase. 60% - Examen del periodo. 30% - Prácticas de laboratorio III IV y V 60% - Proyecto práctico terminado. 40% - Examen del periodo. CLAVE B C BIBLIOGRAFÍA 1 X Barry B.Brey Los Microprocesadores Intel Arquitectura de Programación e Interfases Prentice Hall., 5ª Ed. 2004. 2 X Andrew S. Tanenbaum Organización de Computadoras Pearson, 3ª Ed.2002. 3 X Programmers Guia de Microsoft Masm 6.0 Microsoft Corporation, 2002. INSTITUTO POLITÉCNICO NACIONAL SECRETARÍA ACADÉMICA DIRECCIÓN DE ESTUDIOS PROFESIONALES EN INGENIERÍA Y CIENCIAS FÍSICO MATEMÁTICAS PERFIL DOCENTE POR ASIGNATURA 1. DATOS GENERALES ESCUELA: Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Culhuacan. CARRERA: ÁREA: Ingeniería en Computación BÁSICAS C. INGENIERÍA SEMESTRE D. INGENIERÍA ACADEMIA: Microprocesadores Tercero C. SOC. y HUM. ASIGNATURA: Lenguajes de Bajo Nivel ESPECIALIDAD Y NIVEL ACADÉMICO REQUERIDO: Licenciatura ó Maestría en Sistemas Digitales, Electrónica o Computación 2. OBJETIVOS DE LA ASIGNATURA El alumno formulará programas en lenguaje ensamblador, para integrarlos en aplicaciones de arquitecturas como la X86 de Intel. 3. PERFIL DOCENTE: CONOCIMIENTOS EXPERIENCIA PROFESIONAL HABILIDADES Diseño de sistemas digitales. Electrónica Electrónica digital Computación ACTITUDES Diseño de sistemas Responsable Liderazgo Respetuoso Programador de sistemas de cómputo Manejo de grupo Compromiso Social Áreas afines en el sector privado o público Conocimientos de cómputo ELABORÓ __________________________ ING. CARLOS A. ESTRADA ARRIAGA PRESIDENTE DE LA ACADEMIA DE MICROPROCESADORES REVISÓ __________________________ M. EN C. ALBERTO PAZ GUTIÉRREZ SUBDIRECTOR ACADÉMICO. AUTORIZÓ ________________________ ING. FERMÍN VALENCIA FIGUEROA DIRECTOR FECHA: Marzo de 2004