Datos Generales
Nombre de la asignatura: Lenguaje Ensamblador
Clave de la asignatura: IFC-9304
Horas/teoría: 4
Horas/practica: 2
Créditos: 10

Temario:
Número
Temas
Subtemas
I
Arquitectura del Procesador

1.1 Introducción
1.2 Importancia del Lenguaje Ensamblador
1.3 Historia de los Procesadores
1.4 Terminales del Microprocesador
1.5 Diagrama de Componentes Internos
- Descripción de Componentes
a) Registros Generales (AX, BX, CX, DX)
b) Registros Apuntadores (SP, BP)
c) Registros Índices (SI, DI)
d) Registros de Segmentos (SS, CS, DS, ES )
e) Registro Apuntador de Instrucciones (IP)
f) Registro de Estado (Banderas)
g) Cola de Instrucciones
h) Unidad de Control de la Unidad de Ejecución
i) Buses Internos (Datos, Direcciones)
j) Unidad Aritmética Lógica
- Funcionamiento interno (Ejecución de un Programa)
1.6 Manejo de Memoria
- Segmentación
- Dirección Física
- Dirección Efectiva (Desplazamiento)
1.7 Direccionamiento de los Datos
- Implícito
- Dato Inmediato
- Directo
- Registro
- Registro Indirecto
- Registro Relativo
- Registro Base Indexado
- Registro a Base Indexado

II
Programación Básica 2.1 Formato de Instrucciones
2.2 Formato de un Programa
2.3 Proceso de Ensamble y Ligado de un Programa
2.4 Directivas de Ensamble (Pseudo instrucciones)
- Definición de Datos (DB, DW, DD, LABEL, EQN, ETC.)
- Directivas de Definición de Memoria (PROC, SEGMENT, ASSUME, END, ETC.)
- Directivas Para Ligado de un Programa
- Directivas de Control de Listado
- Definición de Macros
2.5 Instrucciones para Transferencia de Datos (MOV, LEA, LDS, LES, XCHG)
2.6 Instrucciones Aritméticas
- Aritmética Binaria ( ADD, ADC, SUB, SBB, INC, DEC, NEG, CBW, CWD, MUL, IMUL, DIV, IDIV)
- Aritmética Empacada BCD (BINARY CODE DECIMAL) ( AAA, MS, AAM, AAD)
- Aritmética Desempacada BCD (AAA, MS, AAM, AAD)
2.7 Instrucciones de Manipulación de Banderas ( CLC, CMC, STC, CLD, STD, CLI, STI, LAHF, SAHF )
2.8 Instrucciones de Ciclos (LOOP, LOOPZ, LWPNZ, JCXZ)
2.9 Instrucciones de Saltos
- Condicional (JZ, JNZ, JS, JWS, JO, JNO, JP, JWP, JC, JG, JGE )
- Incondiciones Dentro y Fuera del Segmento (JMP)
2.10 Instrucciones de Ciclos (LOOP, LOOPZ, LWPNZ, JCXZ)
2.11 Instrucciones Lógicas (ABD, OR, XOR, NOT)
2.12 Instrucciones de Rotación y Desplazamiento (SAL, SHL, SAR, SHR, ROR, ROL, RCL, RCR )
2.13 Instrucciones para el Stack (PUSH, POP, PUSHF, POPF)
III
Manipulación de Strings 3.1 Definición de String
3.2 Almacenamiento en Memoria
3.3 Instrucciones para Manipulación ( MOVS, STOS, CMPS, LODS )
3.4 Instrucciones para E/S de Strings
IV
Programación de E/S

4.1 Definición de Interrupciones
4.2 Ejecución de una Interrupción
4.3 Tipos de Interrupciones
- Internas (De Programa )
- Externas (Del BIOS)

V Macros 5.1 Definición
5.2 Parámetros y Etiquetas
5.3 Ensamble de Macros
5.4 Ventajas y Desventajas
VI Programación Modular 6.1 Definición de Procedimientos
6.2 Pase de Parámetros
6.3 Instrucción para Llamada (CALL)
6.4 Procedimientos Internos
6.5 Procedimientos Externos
VII Programación Híbrida 7.1 Pascal y Ensamblador
7.2 C y Ensamblador
7.3 Cobol y Ensamblador
7.4 Basic y Ensamblador

Bibliografia:
1.- Yu Cheng Liu, Glew A. Gibson. Micromputer Systems, The 8086/8088 Family, Architecture, Programming and Design. Ed Mc Graw-Hill.

2.- Bud E. Smith, Nark Johnson. Programming The Intel 80386. IBM Book.

3.- Karey A. Lemone. Assembly Language and Systems Programming. For the IBM Pc y Compatible.

4.- Rector, Russem. The 8086 Book. Ed. Mc Graw-Hill.

5.- Trio, Jean-Kchem. 8086-8088 Architecture and Programming. Including 8087 Numeric Co-Processor. Ed. Mc Millian.

6.- Leo J. Scalon. IBM Pc Assembly. Language a Guide for Programming.

7.- Macroassambler 5.1. For the ms-sod operating systems.
- Programmers guide.
- Microsoft Code Vieh a Utilités Update.

Ed. Microsoft Corporation.

8.- The Visible Computer 8088. Assembly language. Teaching system. IBM Pc.

9.- Robert Lafore. Assembly Language. Primer For the IBM Pc XT.

10.- Peter Norton. Assembly Language. Pc.


Volver