programa de computacion ii - Universidad Autónoma de Yucatán

Anuncio
UNIVERSIDAD AUTÓNOMA DE YUCATÁN
FACULTAD DE MATEMÁTICAS
LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN
PROGRAMA DELENGUAJE ENSAMBLADOR
DESCRIPCIÓN DE LA ASIGNATURA
Al finalizar el curso el alumno aplicará las instrucciones del lenguaje ensamblador para
accesar y controlar el hardware de los equipos de cómputo, así como de los periféricos
conectados a él. Tendrá un conocimiento medio de los sistemas basados en microprocesadores de la familia x86 y de la interfaz hardware/software.
OBJETIVO GENERAL:
Al término del curso, el alumno aplicará los conceptos y características de la arquitectura
de computadoras para elaborar y depurar programas escritos en lenguaje ensamblador.
UNIDADES
1. INTRODUCCIÓN
(4 horas)
Objetivo: al finalizar la unidad el alumno conocerá los aspectos fundamentales del
lenguaje ensamblador , sus ventajas y desventajas, así como la estructura y partes de un
programa en ensamblador.
1.1.- Historia del lenguaje ensamblador.
1.2.- La familia x86 de Intel.
1.3.- Ventajas y desventajas del ensamblador.
1.4.- Estructura de los programas en ensamblador.
2. REPRESENTACIÓN DE DATOS
(8 horas)
Objetivos: al finalizar la unidad el alumno aplicará los conocimientos adquiridos para
efectuar cambios de base entre los sistemas decimal, binario y hexadecimal. Podrá realizar
operaciones aritméticas con diferentes bases y conocerá la forma de manipulación de bits y
sus aplicaciones.
2.1.- Sistemas numéricos.
2.2.- Conversiones entre sistemas numéricos.
2.3.- Operaciones aritméticas en binario y hexadecimal.
2.4.- Complemento a 2.
2.5.- Operaciones lógicas a nivel de bits.
2.6.- Desplazamiento y rotación de bits.
2.7.- Usos y aplicaciones.
3. LA FAMILIA DE MICROPROCESADORES x86.
(11 horas)
Objetivos: al finalizar la unidad el alumno conocerá la forma como están estructurados los
microprocesadores de la familia x86 y la manera cómo organizan la memoria para su
acceso.
3.1.- Introducción.
3.2.- Los registros del CPU.
3.3.3.4.3.5.3.6.3.7.3.8.-
3.2.1.- Los registros de propósito general.
3.2.2.- Registros de segmento.
3.2.3.- El registro de instrucciones.
3.2.4.- Los registros Index y Pointer.
3.2.5.- Banderas.
La unidad de aritmética y lógica.
La unidad de interface de bus.
La unidad de control.
El conjunto de instrucciones del x86.
Diferencias entre la familia x86.
Organización física de la memoria.
4. TIPOS DE DATOS
(8 horas)
Objetivos: al finalizar la unidad el alumno conocerá la manera de declarar diferentes tipos
de variables y constantes en los programas en ensamblador, y la forma de accesarlas a
través de los tipos de direccionamientos.
4.1.- Tipos de datos en ensamblador.
4.2.- Declaración de variables.
4.3.- Declaración de constantes.
4.4.- Accesos directos e indirectos a datos.
4.5.- Inicialización de variables.
4.6.- Declaración de cadenas.
4.7.- Modos de direccionamientos a datos.
5. CONTROL DE FLUJO DEL PROGRAMA
(7 horas)
Objetivos: al finalizar la unidad el alumno aplicará las instrucciones de saltos y toma de
decisión para controlar el flujo en que se ejecutarán las instrucciones en los programas, así
como el manejo de la pila y los registros de banderas.
5.1.- Saltos condicionales.
5.2.- Saltos incondicionales.
5.3.- Instrucciones lógicas.
5.4.- Tipos de toma de decisión.
5.5.- Uso de la pila.
6. IMPLEMENTACIÓN DE SUBRUTINAS
(5 horas)
Objetivos: al finalizar la unidad el alumno aplicará los conceptos de dividir un programa en
módulos, las formas de llamarlos, y el pase de parámetros hacia ellos.
6.1.- Declaración de subrutinas.
6.2.- Llamado a subrutinas.
6.3.- Pase de parámetros por valor y por referencia.
6.4.- Recursividad.
7. ENTRADAS Y SALIDAS
(8 horas)
Objetivos: al finalizar la unidad el alumno aplicará los conceptos vistos para controlar la
entrada y salida de datos desde y hacia los diferentes periféricos de un equipo de cómputo.
7.1.- Entrada de datos desde el teclado.
7.2.- Salida de datos a video.
7.3.- Conceptos de archivos a disco.
7.4.- Manejo de errores en archivos
7.5.- Lectura y escritura de archivos de texto.
7.6.- Acceso a las áreas de una unidad de disco.
7.7.- Acceso a puertos.
8. MANEJO DE INTERRUPCIONES
(10 horas)
Objetivos: al finalizar la unidad el alumno aplicará el uso de las interrupciones para
efectuar diversas acciones y operaciones sobre el hardware de los equipos de cómputo
basados en la familia x86.
8.1.- El concepto de interrupción.
8.2.- Tipos de interrupciones.
8.3.- El vector de interrupciones y el chip 8259.
8.4.- Las interrupciones y la pila.
8.5.- Funciones y subfunciones.
8.6.- Ejemplos y aplicaciones.
9. INTERFACE CON C/C++ Y PASCAL.
(5 horas)
Objetivo: al finalizar la unidad el alumno conocerá y aplicará las instrucciones y
metodologías para enlazar programas escritos en lenguajes de alto nivel con el lenguaje
ensamblador.
9.1.- Introducción.
9.2.- Convenios de llamada.
9.3.- Directivas de compilación.
9.4.- Pase de parámetros.
9.5.- Compartición de datos.
9.6.- Uso de los registros.
ESTRATEGIAS DE ENSEÑANZA
Conferencia, interrogatorio, tormenta de ideas, resolución de ejercicios, grupos de
discusión, demostración en computadora.
RECURSOS DIDÁCTICOS
Exposición, pizarrón, acetatos, equipo de cómputo, páginas web.
CRITERIOS DE EVALUACIÓN
3 exámenes parciales (1.3 horas c/u)
Tareas
Total
ANTECEDENTES ACADÉMICOS
Arquitectura de Computadoras.
NEXOS ACADÉMICOS
Interfaces con el Mundo Real.
80%
20%
100%
BIBLIOGRAFÍA
Básica:
Lenguaje Ensamblador para Microcomputadoras IBM.
J. Terry Godfrey
Prentice Hall Hispanoamericana, 1994.
Lenguaje Ensamblador para la IBM-PC
Peter Norton
Prentice Hall, 1992.
Manual del Microprocesador 80386.
Chris Pappas.
Mc Graw-Hill.
Complemenentaria:
Mastering Turbo Assembler.
Tom Swan
Sams Publishing, 1996.
Assembler inside & out.
Harle Hahn.
Mc Graw-Hill.
Elaboración:
Fecha de elaboración:
I.E.C. Raúl Duarte Achach.
Septiembre, 1998.
Modificación:
Fecha de Modificación:
M. en C. Alberto Marín Hernández.
Diciembre, 2001.
Descargar