Syllabus

SCM-0420 Lenguaje Ensamblador

DR. JOSE LUIS LIRA TURRIZA

jlira@itescam.edu.mx

Semestre Horas Teoría Horas Práctica Créditos Clasificación
5 3 2 8

Prerrequisitos
ARQUITECTURA DE COMPUTADORAS. 1) Conocimientos acerca del funcionamiento de la computadoras. 2) Diferenciar entre componentes de hardware y software
FUNDAMENTOS DE PROGRAMACION. 1) Poseer la capacidad de abstracción para plantear una posible solución a problemas que pueden resolverse con este lenguaje. 2) Poseer habilidades de Análisis de problemas, e identificación de componentes de hardware asociadas al software. 3) Conocimientos de programación de alto nivel.

Competencias Atributos de Ingeniería

Normatividad
1. Presentar los ejercicios en la hora y el día programados. 2. Respetar a sus compañeros en sus comentarios

Materiales
Cómputadora personal con procesador 386 o superior. Software de Microsoft TASM 2.0, TLINK 2.0 y Software de interrupciones HELPC.

Bibliografía disponible en el Itescam
Título
Autor
Editorial
Edición/Año
Ejemplares

Parámetros de Examen
PARCIAL 1 De la actividad 1.1.1 a la actividad 1.5.2
PARCIAL 2 De la actividad 2.1.1 a la actividad 2.5.3

Contenido (Unidad / Competencia / Actividad / Material de Aprendizaje)
1. Fundamentos
          1.1. Introducción
                   1.1.1. Uso y aplicación del lenguaje ensamblador
                           Introducción al lenguaje Ensamblador (249921 bytes)
                          
                   1.1.2. Escalabilidad de los microprocesadores
                           Escalabilidad en Microprocesadores Paralelos (161403 bytes)
                          
                   1.1.3. Tipos de lenguaje Ensamblador
                           Tipos de Ensamblador (27648 bytes)
                          
                   1.1.4. Clasificación de Memorias
                           Tipos de Memorias (58368 bytes)
                          
                   1.1.5. Unidades de entrada / salida
                           Unidad de Entrada Salida (23552 bytes)
                           Entrada y salida (24323 bytes)
                          
          1.2. El microprocesador
                   1.2.1. Buses
                           Buses (40838 bytes)
                          
                   1.2.2. Registros
                           Registros (2456477 bytes)
                          
                   1.2.3. Modos de Direccionamiento
                           Modos de Direccionamiento (229997 bytes)
                          
          1.3. Interrupciones
                   1.3.1. Hardware
                           Interrupciones (12414 bytes)
                          
                   1.3.2. Software
                           Tipos de Interrupciones (12832 bytes)
                          
          1.4. Estructura de un programa en ensamblador
                   1.4.1. Data Segment
                           Segmento de Datos (15023 bytes)
                          
                   1.4.2. Stack Segment
                           Segmento de Pila (70829 bytes)
                          
                   1.4.3. Code Segment
                           Code Segment (10679 bytes)
                          
                   1.4.4. Instrucciones del Programa
                           Direccionamiento de Programas (136320 bytes)
                          
                   1.4.5. Directivas
                           Directivas (2104247 bytes)
                          
          1.5. Generación
                   1.5.1. Procedimiento de ensamble, enlace y ejecución
                           Como ensamblar, enlazar y ejecutar un programa (2239367 bytes)
                          
                   1.5.2. Entorno de programación
                           Entorno de programación (109251 bytes)
                          
2. Elementos del Lenguaje
          2.1. Instrucciones Lineales
                   2.1.1. Movimiento
                           Instrucciones de Movimiento (49664 bytes)
                          
                   2.1.2. Pila
                           Instrucciones de Pila (13615 bytes)
                          
                   2.1.3. Matemáticos
                           Instrucciones Aritméticas (99601 bytes)
                          
                   2.1.3. Ajustes
                           Instrucciones de Ajuste (14179 bytes)
                          
                   2.1.4. Comparación
                           Instrucciones de Comparación (13028 bytes)
                          
          2.2. Saltos
                   2.2.1. Incondicional
                           Instrucciones Salto Incondicionales (12836 bytes)
                          
                   2.2.2. Condicional
                           Instrucciones de Salto Condicional (11390 bytes)
                          
          2.3. Sentencias básicas
                   2.3.1. Tipos de Ciclos
                           Instrucciones de Ciclo (12103 bytes)
                          
                   2.3.2. Operadores Lógicos
                           Instrucciones Lógicas (11972 bytes)
                          
          2.4. Desplazamiento
                   2.4.1. Lineal
                           Instrucciones de Desplazamiento Lineal (22372 bytes)
                          
                   2.4.2. Circular
                           Instrucciones de Desplazamiento Circular (11684 bytes)
                          
          2.5. Procesos de Control
                   2.5.1. Banderas
                           Instrucciones de Banderas (14173 bytes)
                          
                   2.5.2. Cadenas
                           Instrucciones de Cadenas (14439 bytes)
                          
                   2.5.3. Cargas
                           Instrucciones de Procesos de Control y Carga (15366 bytes)
                          
3. Modularización
          3.1. Macros
                   3.1.1. Internas
                           Macros Internas (164195 bytes)
                          
                   3.1.2. Externas
                           Macros Externas (15871 bytes)
                          
          3.2. Procedimientos
                   3.2.1. Internos
                           Procedimientos (12466 bytes)
                          
                   3.2.2. Externos
                           Procedimientos (13217 bytes)
                          
4. Programación Híbrida
          4.1. Instrucciones en Lenguajes de Alto nivel
                   4.1.1. Directivas de Programación Híbrida
                           Directivas de Ensamblador en C++ (14320 bytes)
                          
                   4.1.2. Funciones en ensamblador
                           (16576 bytes)
                          
                   4.1.3. Bloques en ensamblador
                           Bloques en ensamblador (25789 bytes)
                          
                   4.1.4. Operadores
                           Operadores/Funciones Inline (20205 bytes)
                          
                   4.1.5. Integración de módulos de ensamblador en lenguajes de alto nivel
                           Programación Híbrida (39227 bytes)
                           Integración de Ensamblador y Gnu C (39227 bytes)
                           Programación Híbrida (78016 bytes)
                           http://ict.udlap.mx/people/oleg/docencia/ASSEMBLER/asm_interrup_21.html
                          

Prácticas de Laboratorio (20232024P)
Fecha
Hora
Grupo
Aula
Práctica
Descripción

Cronogramas (20232024P)
Grupo Actividad Fecha Carrera

Temas para Segunda Reevaluación