Sie sind auf Seite 1von 8

1/8

Universidad Autnoma Gabriel Ren Moreno


FACULTAD DE CIENCIAS EXACTAS Y TECNOLOGA
CARRERA DE INGENIERIA INFORMATICA

PROGRAMA ANALTICO DE LA ASIGNATURA

DATOS GENERALES

ASIGNATURA : Programacin en Ensamblador


SIGLA Y CODIGO : INF 221
PERIODO : Cuarto Semestre
REQUISITOS : INF-211
HORAS : 6 (4 HT, 2 HP)
CREDITOS :5
PROFESOR : Corrado Vallet
PROGRAMA VIGENTE : 2007
REVISADO EN : agosto 2007

JUSTIFICACION
Materia fundamental en la formacin del estudiante, al permitirle adquirir un conocimiento
detallado del funcionamiento de un microprocesador y de la metodologa de programacin
de bajo nivel usando un lenguaje ensamblador, especficamente del microprocesador Intel
80x86, buscando optimizar el uso del hardware.

OBJETIVOS
Describir el computador didctico MSX88.
Describir los componentes de los microprocesadores Intel.
Describir los registros del microprocesador Intel 80x86.
Relacionar los registros del procesador con los diferentes modos de
direccionamiento.
Desarrollar programas en lenguaje ensamblador que contribuyan a la optimizacin
de los recursos de una computadora.
Ampliar la lgica de programacin y resolucin de problemas de parte del
estudiante.

CONTENIDO GENERAL

El computador didctico MSX88. Los microprocesadores Intel 80x86. Modos de


direccionamiento. Estructura de un programa ensamblador. Instrucciones del procesador
80x86. Instrucciones transferencia de datos. Instrucciones aritmticas y lgicas.
2/8
Universidad Autnoma Gabriel Ren Moreno
FACULTAD DE CIENCIAS EXACTAS Y TECNOLOGA
CARRERA DE INGENIERIA INFORMATICA

Instrucciones de control de flujo. Procedimientos. Interrupciones. Manejo de perifricos.


Programacin ensamblador avanzada

UNIDADES DEL PROGRAMA

UNIDAD I INTRODUCCIN
Tiempo: 10 Horas.

Objetivos:

Conocer la terminologa bsica y el contexto requeridos para el estudio de la


materia.
Comprender cmo se visualiza al sistema computacional (computadora personal),
desde el procesador.
Comprender cmo funciona el procesador.
Conocer los conceptos y diferencias de Lenguaje Ensamblador y Lenguaje de
Mquina.

Contenido:

1.1. Sistemas numricos: DEC, BIN, HEX


1.2. Conversin entre sistemas numricos de bases diferentes
1.3. Operaciones aritmtica sistemas numricos de bases diferentes
1.4. Cdigos BCD, ASCII, UNICODE.
1.5. Aritmtica BCD y ASCII
1.6. Representacin nmeros sin signo (SS)
1.7. Representacin nmeros con signo (CS)
1.8. Representacin en S/M, C1, C2.
1.9. Aritmtica (suma y resta) en C2
1.10. Desbordamiento (overflow)
1.11. Operaciones lgicas: AND, OR, XOR
1.12. Operaciones de desplazamiento lgicas, aritmticas y de rotacin.
1.13. Modelo de Von Neumann
1.14. El procesador
1.15. Memoria principal
1.16. Perifricos
1.17. Buses
1.18. Unidad de control
1.19. Instrucciones del procesador
1.20. Lenguajes de programacin
1.20.1. Lenguaje de mquina
1.20.2. Lenguaje ensamblador
1.20.3. Lenguajes de alto nivel
3/8
Universidad Autnoma Gabriel Ren Moreno
FACULTAD DE CIENCIAS EXACTAS Y TECNOLOGA
CARRERA DE INGENIERIA INFORMATICA

UNIDAD II EL COMPUTADOR DIDCTICO MSX88


Tiempo: 10 Horas.

Objetivos:
Conocer la arquitectura del computador didctico MSX88.
Discriminar las instrucciones considerando los diferentes modos de
direccionamiento del MSX88
Programar en ensamblador: ensamblar, linkear y ejecutar programas en el MSX88.

1. Introduccin.
2. Conjunto de Herramientas del entorno MSX88
2.1. Asm88.
2.2. Link88
2.3. Msx88.
3. Descripcin del MSX88.
3.1. Bloques Constitutivos.
3.2. Pantallas y Configuraciones.
3.3. Modos de Funcionamiento.
4. Cpu MSX88
4.1. Arquitectura
4.2. Lenguaje Mquina.
4.2.1. Modos de Direccionamiento
4.2.2. Tipos Instrucciones
4.2.3. Cdigo Maquina de Las Instrucciones
4.2.4. Instrucciones de Transferencia.
4.2.5. Instrucciones Aritmtico-Lgicas.
4.2.6. Instrucciones de Comparacin.
4.2.7. Instrucciones de Incremento/Decremento.
4.2.8. Instrucciones de Manejo de La Pila.
4.2.9. Instrucciones de Cambio de Flujo de Programa
4.2.10. Instrucciones de Gestin de Las Interrupciones.
4.2.11. Instrucciones de Control
4.2.12. Instrucciones Asociadas A Subrutinas
5. Memoria.
5.1. Organizacin.
6. Las Interrupciones Del MSX88
6.1. Tabla de Vectores De Interrupcin.
7. Programa Monitor.
7.1. Comandos del Monitor
7.1.1. Descripcin de los Comandos
8. Teclas o Secuencias de Funcin.

UNIDAD III EL PROCESADOR INTEL 80x86


Tiempo: 10 Horas.

Objetivos:
Conocer la terminologa bsica y el contexto requeridos para el estudio del tema.
4/8
Universidad Autnoma Gabriel Ren Moreno
FACULTAD DE CIENCIAS EXACTAS Y TECNOLOGA
CARRERA DE INGENIERIA INFORMATICA

Describir el proceso de transferencia entre registros, memoria y puertos, desde el


punto de vista de las instrucciones del procesador.
Discriminar las instrucciones considerando los diferentes modos de
direccionamiento.

Contenido:

3.1 Historia de los microprocesadores


3.2 Organizacin de la memoria
3.3 Modelo del programador
3.4 Registros
3.4.1 Registros de propsito general (AX, BX, CX, DX)
3.4.2 Registros punteros e ndices (SP, BP) (SI, DI).
3.4.3 Registros de segmento (SS, CS, DS, ES)
3.4.4 Registro apuntador de instrucciones (IP)
3.4.5 Registro de banderas (flags)
3.5 Unidad aritmtica-lgica.
3.6 Segmentacin.

UNIDAD IV ESTRUCTURA DE UN PROGRAMA EN ENSAMBLADOR


Tiempo: 18 Horas.

Objetivos:
Manipular instrucciones y pequeos procesos desde el utilitario Debug.exe
Describir los componentes de un programa.
Establecer el procedimiento para la generacin de programas ejecutables.
Aplicar tcnicas de programacin estructurada
Ejecutar programas en TASM (Turbo Assembler), TLINK (Turbo Link) y TD (Turbo
Debugger).

Contenido:

4.1 Proceso de generacin de una aplicacin


4.2 Lenguaje de mquina
4.3 Estructura de un programa en ensamblador
4.3.1 Directivas de inicio
4.3.2 Declaracin de constantes y variables
4.3.3 Cdigo del programa
4.3.4 Directivas de conclusin
4.4 Programas de ejemplo

UNIDAD V JUEGO DE INSTRUCCIONES DEL PROCESADOR


Tiempo: 16 Horas

Objetivo:
Conocer las instrucciones del procesador Intel80x86.
5/8
Universidad Autnoma Gabriel Ren Moreno
FACULTAD DE CIENCIAS EXACTAS Y TECNOLOGA
CARRERA DE INGENIERIA INFORMATICA

Emplear diferentes modos de direccionamiento de las instrucciones.

Contenido:

5.1 Modos de direccionamiento


5.1.1 Direccionamiento inherente
5.1.2 Direccionamiento inmediato
5.1.3 Direccionamiento por registro
5.1.4 Direccionamiento directo
5.1.5 Direccionamiento base ms ndice
5.1.6 Direccionamiento relativo por registro
5.1.7 Direccionamiento ndice escalado
5.1.8 Manejo de la pila (stack)
5.2 Instrucciones de transferencia de datos
4.2.1 Instruccin MOV
4.2.2 Instrucciones PUSH, POP
5.3 Instrucciones aritmticas y lgicas
5.3.1 Suma, resta y comparacin
5.3.2 Multiplicacin y divisin
5.3.3 Aritmtica BCD y ASCII
5.4 Instrucciones lgicas
5.5 Instrucciones de desplazamiento y rotacin
5.6 Instrucciones manejo de cadenas (strings)
5.7 Instrucciones de conversin de formato

UNIDAD VI PROCEDIMIENTOS
Tiempo: 16 Horas

Objetivos:
Conocer como trabajan los procedimientos y el paso de parmetros a los mismos.

Contenido:
6.1 Introduccin
6.2 Instrucciones de salto: incondicionales y condicionales.
6.3 Instrucciones de ciclos
6.4 Definicin de un procedimiento o subprogramas
6.5 Llamada a un procedimiento
6.6 Retorno de un procedimiento
6.7 Consideraciones para el uso de procedimientos
6.8 Paso de parmetros a un procedimiento
5.7.1 por registro
5.7.2 por pila (stack).
6.9 Variables locales y globales.

UNIDAD VII INTERRUPCIONES Y LOS PERIFRICOS


Tiempo: 16 Horas
6/8
Universidad Autnoma Gabriel Ren Moreno
FACULTAD DE CIENCIAS EXACTAS Y TECNOLOGA
CARRERA DE INGENIERIA INFORMATICA

Objetivos:
Conocer el proceso de las interrupciones para valorar su importancia.
Utilizar en aplicaciones prcticas algunas interrupciones del sistema (BIOS y DOS)
Establecer algunos procedimientos para la llamada y desarrollo de interrupciones.

Contenido:
7.1Introduccin
7.1.1 Interrupciones por hardware
7.1.2 Interrupciones por software
7.2 Interrupciones del BIOS
7.3 Interrupciones del DOS
7.4 Manejo de video
7.5 Manejo de teclado
7.6 Unidades de disco
7.7 Manejo de archivos
7.8 Puerto serial
7.9 Puerto paralelo

UNIDAD VIII PROGRAMACIN AVANZADA


Tiempo: 16 Horas

Objetivos:
Realizar programas avanzados en ensamblador.

Contenido:
8.1 Programacin estructurada
8.2 Macros
8.3 Interaccin con lenguajes de alto nivel

UNIDAD IX PUNTO FLOTANTE


Tiempo: 8 Horas

Objetivos:
Comprender la manipulacin de los nmeros en punto flotante.

Contenido:

9.1. Representacin de punto flotante


9.2 Estndar de Punto Flotante IEEE-754
9.3. Aritmtica de punto flotante
9.4. Coprocesador numrico
9.5. Instrucciones de punto flotante
9.6. Programacin en punto flotante
7/8
Universidad Autnoma Gabriel Ren Moreno
FACULTAD DE CIENCIAS EXACTAS Y TECNOLOGA
CARRERA DE INGENIERIA INFORMATICA

METODOLOGA

Para el desarrollo de los contenidos se ha determinado los siguientes mtodos de


enseanza:
a) Clases de carcter terico-conceptual: Clases a cargo del profesor, a
modo orientador, presentando los problemas, alternativas de solucin con
el correspondiente sustento terico. Su desarrollo se apoyar en el uso de
elementos auxiliares para la enseanza, como pizarra y proyector de
multimedia.

b) Desarrollo de Trabajos Prcticos: Los conceptos introducidos en las


clases tericas, especialmente los relativos al desarrollo de algoritmos,
rutinas y aplicaciones, tendrn una componente prctica basada en la
resolucin de problemas, que se desarrollarn en forma individual o grupal.

c) Prcticas de Laboratorio: Se utilizarn los centros de cmputo de la


carrrera para la realizacin de prcticas de programacin y desarrollo de
aplicaciones. Para dicho fin proceder a descargar y posteriormente instalar
en su PC, el Ensamblador Profesional TASM de Borland: Borland Turbo
Assembler - Versin 5.0 o superior (ocupa aproximadamente 4.10 MB). Se
utilizarn las siguientes herramientas: TASM (Turbo Assembler), TLINK
(Turbo Link) y TD (Turbo Debugger).

EVALUACIN

La evaluacin se realizara siguiendo los parmetros que a continuacin se


describen.

ITEM DESCRIPCIN PROCENTAJE TEMAS


1 Primer examen parcial 20 % Unidades 1, 2 y 3
2 Segundo examen parcial 20 % Unidades 4 y 5
3 Prcticas y Laboratorio 20 %
4 Examen Final 40 % Todas las Unidades

1) Primer examen parcial


La evaluacin del primer examen parcial tendr 2 componentes: a) Terico,
conceptual b) Metodologa de anlisis.

2) Segundo examen parcial


La evaluacin del segundo examen parcial tendr 2 componentes: a) Terico,
conceptual b) Metodologa de programacin.
8/8
Universidad Autnoma Gabriel Ren Moreno
FACULTAD DE CIENCIAS EXACTAS Y TECNOLOGA
CARRERA DE INGENIERIA INFORMATICA

3) Examen final
La evaluacin del examen final consistir en la elaboracin, presentacin y
defensa de un proyecto de aplicacin del lenguaje ensamblador.

BIBLIOGRAFA

a) Bibliografa Bsica

1) Brey B.B. "Los microprocesadores Intel", 3a Ed, Prentice Hall, 1995.

2) Ttulo: Lenguaje Ensamblador para PC


Autor: Paul A. Carter 18 de octubre de 2006
Pgina del autor: http://www.drpaulcarter.com/

b) Bibliografa Complementaria

ABEL96 Abel Peter,, Lenguaje Ensamblador y Programacin para IBM PC y


Compatibles, Tercera Edicin, Prentice Hall Hispanoamericana S.A., Mxico, 1996.

Barkakati N "Microsoft Macro Assembler Bible," Howard W. Sams.

GODF91 Godfrey JT "Lenguaje Ensamblador para IBM PC," Prentice Hall, 1991.

HARL92 Harley Hahn Assembler Inside & Out, Osborne McGraw-Hill, USA 1992.

Rodrguez-Rosello, M.A. 8088/86, Programacin ensamblador en entorno DOS, Anaya


Multimedia

MART90 Martnez Toms R., Lenguajes Ensambladores, Editorial Paraninfo, S.A.,


Madrid (Espaa), 1990.

MURR87 Murray III William H. y Pappas Chris H., 80386/80286 Programacin en


Lenguaje Ensamblador, McGraw - Hill de Mxico, S. A., Mxico, 1987.

Das könnte Ihnen auch gefallen