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 ( bytes)
                          
                   1.1.2. Escalabilidad de los microprocesadores
                           Escalabilidad en Microprocesadores Paralelos ( bytes)
                          
                   1.1.3. Tipos de lenguaje Ensamblador
                           Tipos de Ensamblador ( bytes)
                          
                   1.1.4. Clasificación de Memorias
                           Tipos de Memorias ( bytes)
                          
                   1.1.5. Unidades de entrada / salida
                           Unidad de Entrada Salida ( bytes)
                           Entrada y salida ( bytes)
                          
          1.2. El microprocesador
                   1.2.1. Buses
                           Buses ( bytes)
                          
                   1.2.2. Registros
                           Registros ( bytes)
                          
                   1.2.3. Modos de Direccionamiento
                           Modos de Direccionamiento ( bytes)
                          
          1.3. Interrupciones
                   1.3.1. Hardware
                           Interrupciones ( bytes)
                          
                   1.3.2. Software
                           Tipos de Interrupciones ( bytes)
                          
          1.4. Estructura de un programa en ensamblador
                   1.4.1. Data Segment
                           Segmento de Datos ( bytes)
                          
                   1.4.2. Stack Segment
                           Segmento de Pila ( bytes)
                          
                   1.4.3. Code Segment
                           Code Segment ( bytes)
                          
                   1.4.4. Instrucciones del Programa
                           Direccionamiento de Programas ( bytes)
                          
                   1.4.5. Directivas
                           Directivas ( bytes)
                          
          1.5. Generación
                   1.5.1. Procedimiento de ensamble, enlace y ejecución
                           Como ensamblar, enlazar y ejecutar un programa ( bytes)
                          
                   1.5.2. Entorno de programación
                           Entorno de programación ( bytes)
                          
2. Elementos del Lenguaje
          2.1. Instrucciones Lineales
                   2.1.1. Movimiento
                           Instrucciones de Movimiento ( bytes)
                          
                   2.1.2. Pila
                           Instrucciones de Pila ( bytes)
                          
                   2.1.3. Matemáticos
                           Instrucciones Aritméticas ( bytes)
                          
                   2.1.3. Ajustes
                           Instrucciones de Ajuste ( bytes)
                          
                   2.1.4. Comparación
                           Instrucciones de Comparación ( bytes)
                          
          2.2. Saltos
                   2.2.1. Incondicional
                           Instrucciones Salto Incondicionales ( bytes)
                          
                   2.2.2. Condicional
                           Instrucciones de Salto Condicional ( bytes)
                          
          2.3. Sentencias básicas
                   2.3.1. Tipos de Ciclos
                           Instrucciones de Ciclo ( bytes)
                          
                   2.3.2. Operadores Lógicos
                           Instrucciones Lógicas ( bytes)
                          
          2.4. Desplazamiento
                   2.4.1. Lineal
                           Instrucciones de Desplazamiento Lineal ( bytes)
                          
                   2.4.2. Circular
                           Instrucciones de Desplazamiento Circular ( bytes)
                          
          2.5. Procesos de Control
                   2.5.1. Banderas
                           Instrucciones de Banderas ( bytes)
                          
                   2.5.2. Cadenas
                           Instrucciones de Cadenas ( bytes)
                          
                   2.5.3. Cargas
                           Instrucciones de Procesos de Control y Carga ( bytes)
                          
3. Modularización
          3.1. Macros
                   3.1.1. Internas
                           Macros Internas ( bytes)
                          
                   3.1.2. Externas
                           Macros Externas ( bytes)
                          
          3.2. Procedimientos
                   3.2.1. Internos
                           Procedimientos ( bytes)
                          
                   3.2.2. Externos
                           Procedimientos ( 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++ ( bytes)
                          
                   4.1.2. Funciones en ensamblador
                           ( bytes)
                          
                   4.1.3. Bloques en ensamblador
                           Bloques en ensamblador ( bytes)
                          
                   4.1.4. Operadores
                           Operadores/Funciones Inline ( bytes)
                          
                   4.1.5. Integración de módulos de ensamblador en lenguajes de alto nivel
                           Programación Híbrida ( bytes)
                           Integración de Ensamblador y Gnu C ( bytes)
                           Programación Híbrida ( bytes)
                           http://ict.udlap.mx/people/oleg/docencia/ASSEMBLER/asm_interrup_21.html
                          

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

Cronogramas (20212022P)
Grupo Actividad Fecha Carrera

Temas para Segunda Reevaluación