lenguaje ensamblador

Anuncio
UNIVERSIDAD DEL ISTMO
PROGRAMA DE ESTUDIO
1.-IDENTIFICACIÓN
ESCUELA: UNIVERSIDAD DEL ISTMO
3063
CLAVE:
TIPO DE ASIGNATURA: TEÓRICA/PRÁCTICA
ASIGNATURA: LENGUAJE ENSAMBLADOR
ING. EN COMPUTACIÓN, SEXTO SEMESTRE
GRADO:
---ANTECEDENTE CURRICULAR:
2.- OBJETIVO GENERAL
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.
3.- UNIDADES
1. Fundamentos del lenguaje ensamblador; 2. Elementos del lenguaje; 3. Procedimientos y macros; 4. Arreglos; 5. Manejo de interrupciones;
6. Punto flotante; 7. Programación hibrida; 8. Manejo de dispositivos.
4.- TIEMPO ASIGNADO Y CRÉDITOS DE LA ASIGNATURA.
HORAS SEMANA
HORAS SEMESTRE
CRÉDITOS
TEORÍA PRÁCTICA TOTAL
2.5
2.5
5
42
43
85
7
HOJA 1 DE 12
UNIVERSIDAD DEL ISTMO
PROGRAMA DE ESTUDIO
5.- CONCENTRADO POR UNIDAD
ASIGNATURA:
UNIDADES
LENGUAJE ENSAMBLADOR
CARGA POR UNIDAD EN HORAS
TEORÍA PRÁCTICA
TOTAL
OBJETIVOS POR UNIDAD
1. Fundamentos del lenguaje ensamblador
9
0
9
Describir los fundamentos del lenguaje ensamblador
identificando su estrecha relación con el hardware de
un sistema de cómputo
2. Elementos del lenguaje
5
7
12
Explicar y aplicar los principales elementos sintácticos
del lenguaje para el desarrollo de programas
estructurados
3. Procedimientos y macros
5
6
11
Comprender y aplicar los mecanismos de
modularización propios del lenguaje ensamblador
4. Arreglos
5
7
12
Utilizar formas eficientes de organización de datos en
memoria principal
5. Manejo de interrupciones
5
6
11
Identificar y aplicar el concepto de interrupción a bajo
nivel
6. Punto flotante
5
7
12
Describir los principales estándares de representación
de punto flotante y la utilización de las instrucciones
del coprocesador matemático
7. Programación hibrida
5
5
10
Emplear códigos escritos en lenguaje ensamblador
con códigos escritos en lenguajes de alto nivel
8. Manejo de dispositivos
3
5
8
Identificar y aplicar el manejo de dispositivos a través
de los puertos serial y paralelo.
HOJA 2 DE 12
UNIVERSIDAD DEL ISTMO
PROGRAMA DE ESTUDIO
6.- PROGRAMA DE ESTUDIOS
ASIGNATURA:
LENGUAJE ENSAMBLADOR
UNIDAD:
1. Fundamentos del lenguaje ensamblador
TEMA
OBJETIVO:
Describir los fundamentos del lenguaje ensamblador identificando su
estrecha relación con el hardware de un sistema de cómputo
HORAS
1.1. Organización de la computadora.
1
1.2. Lenguaje máquina y lenguaje
ensamblador.
1
1.3. Importancia del lenguaje ensamblador.
1
1.4. Aplicaciones del lenguaje ensamblador
1
1.5. Tipos de lenguajes ensambladores.
1
1.6. Lenguajes ensambladores y lenguajes de
alto nivel.
1
1.7. Estructura de un programa en
ensamblador.
1
1.8. Ensamble, enlace y ejecución.
1
1.9. El entorno de programación.
1
ACTIVIDADES DE
APRENDIZAJE
Exponer y discutir sobre la
vigencia del lenguaje
ensamblador.
TÉCNICAS
APOYOS DIDÁCTICOS
Exposición oral y
debate de temas en
el salón de clase.
Proyector, Computadora
personal, diapositivas
Pizarrón
Investigar sistemas actuales
Desarrollo de
con funcionalidades
ejemplos y ejercicios.
soportadas a bajo nivel
Libros e Internet
Entorno de desarrollo libre
Leer artículos relacionados
con el uso del lenguaje
ensamblador
Estudio de casos
Sesiones prácticas
en el laboratorio
Investigar sobre la evolución
de los microprocesadores
Intel x86 y AMD
Investigar sobre diferentes
plataformas de programación
a bajo nivel
Diseñar e implementar
programas simples en
ensamblador
HOJA 3 DE 12
UNIVERSIDAD DEL ISTMO
PROGRAMA DE ESTUDIO
ASIGNATURA:
LENGUAJE ENSAMBLADOR
UNIDAD:
2. Elementos del lenguaje
TEMA
OBJETIVO:
Explicar y aplicar los principales elementos sintácticos del lenguaje
para el desarrollo de programas estructurados
HORAS
2.1. Formato de las instrucciones.
1
2.2. Definición de datos.
1
2.3. Instrucciones básicas, de transferencia
de datos y Aritméticas.
3
2.4. Manipulación de bits.
2
2.5. Ramas y Lazos.
3
2.6. Interrupciones básicas de E/S.
2
ACTIVIDADES DE
APRENDIZAJE
Investigación sobre los
ordenes big-endian y littleendian
TÉCNICAS
APOYOS DIDÁCTICOS
Exposición oral de
temas en el salón de
clase.
Proyector, Computadora
personal, diapositivas
Pizarrón
Resolver ejercicios de
Desarrollo de
programación secuenciales ejemplos y ejercicios.
que involucren transferencia
de datos y operaciones
aritméticas con datos enteros Sesiones prácticas
en el laboratorio
Libros
Entorno de desarrollo libre
Resolver ejercicios de
programación que involucren
manipulación de bits
Resolver ejercicios de
programación que involucren
saltos condicionales y
repeticiones
HOJA 4 DE 12
UNIVERSIDAD DEL ISTMO
PROGRAMA DE ESTUDIO
ASIGNATURA:
LENGUAJE ENSAMBLADOR
UNIDAD:
3. Procedimientos y macros
TEMA
OBJETIVO:
Comprender y aplicar los mecanismos de modularización propios del
lenguaje ensamblador
HORAS
3.1. Programación modular.
1
3.2. La pila.
2
3.3. Direccionamiento indirecto.
2
3.4. Procedimientos.
3
3.5. Macros.
3
ACTIVIDADES DE
APRENDIZAJE
Resolver ejercicios de
programación utilizando
llamados a procedimientos
de librería
Resolver ejercicios de
programación utilizando la
pila para implementar
procedimientos
TÉCNICAS
APOYOS DIDÁCTICOS
Exposición oral de
temas en el salón de
clase.
Proyector, Computadora
personal, diapositivas
Pizarrón
Desarrollo de
ejemplos y ejercicios.
Libros
Entorno de desarrollo libre
Sesiones prácticas
en el laboratorio
Resolver ejercicios de
programación utilizando
macros
Resolver ejercicios de
programación que involucren
recursividad
Escribir un programa con
varios módulos, cada uno
con diversos procedimientos
y/o macros
HOJA 5 DE 12
UNIVERSIDAD DEL ISTMO
PROGRAMA DE ESTUDIO
ASIGNATURA:
LENGUAJE ENSAMBLADOR
OBJETIVO:
Utilizar formas eficientes de organización de datos en memoria
principal
UNIDAD:
4. Arreglos
TEMA
HORAS
4.1. Direccionamiento indexado.
1
4.2. Declaración de arreglos.
1
4.3. Acceso a los elementos del arreglo.
3
4.4. Arreglos multidimensionales.
3
4.5. Cadenas.
4
ACTIVIDADES DE
TÉCNICAS
APRENDIZAJE
Resolver ejercicios de
Exposición oral de
programación que involucren temas en el salón de
el uso de arreglos
clase.
unidimensionales
Desarrollo de
Resolver ejercicios de
ejemplos y ejercicios.
programación que involucren
el uso de arreglos de más de
una dimensión
Sesiones prácticas
en el laboratorio
Investigar el repertorio de
instrucciones para el manejo
de cadenas con el
ensamblador utilizado
APOYOS DIDÁCTICOS
Proyector, Computadora
personal, diapositivas
Pizarrón
Libros
Entorno de desarrollo libre
Programar diversas rutinas
comunes en las librerías
estándar de manejo de
cadenas, tales como copiar
cadenas, encontrar una
subcadena, etc.
HOJA 6 DE 12
UNIVERSIDAD DEL ISTMO
PROGRAMA DE ESTUDIO
ASIGNATURA:
LENGUAJE ENSAMBLADOR
UNIDAD:
5. Manejo de interrupciones
TEMA
OBJETIVO:
Identificar y aplicar el concepto de interrupción a bajo nivel
HORAS
5.1. Definición de interrupción.
1
5.2. Interrupciones de video.
3
5.3. Interrupciones de teclado.
2
5.4. Interrupciones de la impresora.
2
5.5. Interrupciones de llamadas a servicios
del sistema
ACTIVIDADES DE
TÉCNICAS
APRENDIZAJE
Desarrollar un programa para Exposición oral de
temas en el salón de
escribir un texto a color
clase.
Desarrollar rutinas para
dibujar una línea, un
Desarrollo de
ejemplos y ejercicios.
rectángulo y un triángulo
Desarrollar un programa para
rastrear el ratón
2
APOYOS DIDÁCTICOS
Proyector, Computadora
personal, diapositivas
Pizarrón
Libros
Entorno de desarrollo libre
Sesiones prácticas
en el laboratorio
Desarrollar un programa para
imprimir un texto sencillo.
HOJA 7 DE 12
UNIVERSIDAD DEL ISTMO
PROGRAMA DE ESTUDIO
ASIGNATURA:
LENGUAJE ENSAMBLADOR
UNIDAD:
6. Punto flotante
TEMA
OBJETIVO:
Describir los principales estándares de representación de punto
flotante y la utilización de las instrucciones del coprocesador
matemático
HORAS
6.1. Representación en punto flotante.
3
6.2. Aritmética de punto flotante.
4
6.3. El coprocesador numérico: Hardware e
Instrucciones.
5
ACTIVIDADES DE
TÉCNICAS
APRENDIZAJE
Investigar la documentación Exposición oral de
temas en el salón de
de Intel y/o AMD para el
manejo de punto flotante
clase.
APOYOS DIDÁCTICOS
Proyector, Computadora
personal, diapositivas
Pizarrón
Resolver diversos ejercicios
Desarrollo de
de programación que
ejemplos y ejercicios.
involucre el uso de datos de
tipo real
Sesiones prácticas
Escribir un programa que
en el laboratorio
muestre el binario de un
número de punto flotante
Libros
Entorno de desarrollo libre
Escribir las rutinas de
redondeo hacia arriba y hacia
abajo
HOJA 8 DE 12
UNIVERSIDAD DEL ISTMO
PROGRAMA DE ESTUDIO
ASIGNATURA:
LENGUAJE ENSAMBLADOR
UNIDAD:
7. Programación hibrida
TEMA
OBJETIVO:
Emplear códigos escritos en lenguaje ensamblador con códigos
escritos en lenguajes de alto nivel
HORAS
7.1. Directivas para compilación hibrida.
2
7.2. Funciones en ensamblador.
2
7.3. Integración de módulos de ensamblador
con lenguajes de alto nivel.
6
ACTIVIDADES DE
APRENDIZAJE
Resolver ejercicios de
programación utilizando la
técnica de ensamblado en
línea
Resolver ejercicios de
programación utilizando
llamados a procedimientos
escritos en alto nivel
TÉCNICAS
APOYOS DIDÁCTICOS
Exposición oral de
temas en el salón de
clase.
Proyector, Computadora
personal, diapositivas
Pizarrón
Desarrollo de
ejemplos y ejercicios.
Libros
Entorno de desarrollo libre
Sesiones prácticas
en el laboratorio
Resolver ejercicios de
programación utilizando
llamados a procedimientos
escritos en bajo nivel
Realizar pruebas de
desempeño entre rutinas
escritas en alto nivel y rutinas
escritas a bajo nivel
HOJA 9 DE 12
UNIVERSIDAD DEL ISTMO
PROGRAMA DE ESTUDIO
ASIGNATURA:
LENGUAJE ENSAMBLADOR
UNIDAD:
8. Manejo de dispositivos
TEMA
OBJETIVO:
Identificar y aplicar el manejo de dispositivos a través de los puertos
serial y paralelo.
HORAS
8.1. Puerto serial.
4
8.2. Puerto paralelo.
4
ACTIVIDADES DE
TÉCNICAS
APRENDIZAJE
Exposición oral de
Desarrollar una aplicación
para controlar un dispositivo temas en el salón de
serial
clase.
APOYOS DIDÁCTICOS
Proyector, Computadora
personal, diapositivas
Pizarrón
Desarrollar una aplicación
Desarrollo de
para controlar un dispositivo ejemplos y ejercicios.
paralelo
Libros
Entorno de desarrollo libre
Sesiones prácticas
en el laboratorio
HOJA 10 DE 12
UNIVERSIDAD DEL ISTMO
PROGRAMA DE ESTUDIO
7.- APOYO BIBLIOGRÁFICO
TEXTO BÁSICO:
• 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 McGraw-Hill. 1987.
• Lenguaje Ensamblador y Programación para PC IBM y Compatibles, Peter Abel, Editorial Prentice Hall, 1996.
TEXTO DE 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.
8.- EVALUACIÓN
• Al inicio del curso el profesor indicará el procedimiento de evaluación, el cual deberá comprender las evaluaciones parciales y la ordinaria. El
promedio de las calificaciones parciales representará el 50 % de la calificación final y el examen ordinario, el otro 50 %.
• Las evaluaciones deberán ser por escrito y en su caso con apoyos orales y prácticos.
• Para tener derecho a cada evaluación, el alumno deberá cumplir con un mínimo de 85 % de asistencia.
• A criterio del profesor serán considerados los trabajos de investigación, tareas, exposiciones, proyectos y participación en clases.
• Las evaluaciones parciales y la final, se efectuarán de acuerdo al calendario vigente, en los días y horas publicados por el Departamento de
Servicios Escolares.
HOJA 11 DE 12
UNIVERSIDAD DEL ISTMO
PROGRAMA DE ESTUDIO
M. C. J. Jesús Arellano Pimentel
M. en C. Daniel Pacheco Bautista
ELABORÓ
FECHA DE ELABORACIÓN:
FECHA DE APROBACIÓN:
Vo.Bo.
M en C. Víctor Manuel Martínez Rodríguez
APROBÓ
14 de enero de 2010
HOJA 12 DE 12
Descargar