Syllabus

SCM-0420 Lenguaje Ensamblador

MTE. JOSE RAMON CAB CHAN

rcab@itescam.edu.mx

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

Prerrequisitos
Arquitectura de las computadoras. Conocimientos acerca del funcionamiento de la computadoras. Poseer la capacidad de abstracción, para realizar el planteamiento y su posterior implementación. haciendo uso de éste lenguaje. Poseer habilidades de Análisis de problemas, e identificación de componentes de hardware asociadas al software. Utilizar algún lenguaje de programación de alto nivel.

Competencias Atributos de Ingeniería

Normatividad
El alumno deberá cumplir con el porcentaje de asistencias mínimo requerido por el plantel. • Deberá demostrar en base al contenido del programa el dominio de los conceptos, capacidad de la aplicación de los conocimientos en problemas reales, transferencia del conocimiento. • Participación en actividades individuales y de equipo. • Cumplimiento de los objetivos y desempeño en las prácticas propuestas.

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 Primera unidad
PARCIAL 2 Segunda unidad

Contenido (Unidad / Competencia / Actividad / Material de Aprendizaje)
1. 1
          1.1. Introducción
                   1.1.1. Uso y aplicaciones del lenguaje ensamblador
                           Introducción a lenguaje ensamblador (131576 bytes)
                           http://www.virtual.unal.edu.co/cursos/ingenieria/2001839/modulo1/cap_01/leccion202.htm
                          
                   1.1.2. Escalabilidad de los microprocesadores
                           Escalabilidad (161403 bytes)
                           Escalabilidad de los microprocesadores (161403 bytes)
                           http://www.monografias.com/trabajos11/lenen/lenen.shtml#ar
                           http://roble.pntic.mec.es/~jcortijo/pag_jacl/I_Basica/micros/micros.htm
                          
                   1.1.3. Tipos de lenguajes ensambladores
                           tipos de lenguajes (27648 bytes)
                           clasificación de los lenguajes de programación (48778 bytes)
                           clasificación de lenguajes (88173 bytes)
                          
                   1.1.4. Clasificación de Memoria
                           organización de memoria (58368 bytes)
                           http://orbita.starmedia.com/~prog201eq1/AGO-30.HTM
                           http://www.mailxmail.com/curso/informatica/arquitecturaordenadores/capitulo6.htm
                           http://www.mailxmail.com/curso/informatica/arquitecturaordenadores/capitulo3.htm
                          
                   1.1.5. Unidades de entrada y salida
                           Dispositivos de E/S (23552 bytes)
                           http://www.monografias.com/trabajos33/dispositivos/dispositivos.shtml
                           http://www.itson.mx/die/eromero/biblioelec/bsistdig2/Tipos_ES.pdf
                           http://es.wikipedia.org/wiki/Entrada/Salida
                          
          1.2. El microprocesador
                   1.2.1. Buses
                           microporcesador 80X86 (158367 bytes)
                           http://www.itson.mx/die/eromero/biblioelec/bsistdig2/Tipos_ES.pdf
                          
                   1.2.2. Registros
                           Procesadores intel (158367 bytes)
                          
                   1.2.3. Modos de direccionamiento
                           Tipos de direccionamiento (196019 bytes)
                           Modos de direcionamiento (182366 bytes)
                          
          1.3. Interrupciones
                   1.3.1. Hardware
                           Interrupciones de hardware (43520 bytes)
                           Tabla de interrupciones (38287 bytes)
                          
                   1.3.2. Software
                           int. de software (25600 bytes)
                          
          1.4. Estructura de un programa en ensamblador
                   1.4.1. Data Segment
                           Estructura básica de un programa (109251 bytes)
                          
                   1.4.2. Stack segment
                           Pila (109251 bytes)
                          
                   1.4.3. Code segment
                           Segmento de código (109251 bytes)
                          
                   1.4.4. Instrucciones del programa
                           instrucciones del programa (109251 bytes)
                          
                   1.4.5. Directivas
                           tipos de directivas (109251 bytes)
                          
          1.5. Procedimiento de ensamble, enlace y ejecución
                   1.5.1. Procedimento de ensamble, enlace y ejecución
                           ciclo de programa (29696 bytes)
                          
          1.6. Entorno de Programación
                   1.6.1. Entorno de programación
                           entorno de programación en ensamblador (109251 bytes)
                          
2. 2
          2.1. Instrucciones lineales
                   2.1.1. Movimiento
                           Instrucciones (155626 bytes)
                           métodos de direccionamiento (69113 bytes)
                          
                   2.1.2. Pila
                           http://members.tripod.com/~MoisesRBB/unidad3.htm
                           http://www.it.uc3m.es/ttao/html/ARC.html#arc:sec:stack
                          
                   2.1.3. Matemáticos
                           http://www.it.uc3m.es/ttao/html/ISA.html#isa:sec:arithmetic
                          
                   2.1.4. Ajustes
                           http://www.it.uc3m.es/ttao/html/ISA.html#isa:sec:arithmetic
                          
                   2.1.5. Comparación
                           http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_lenguaje_ensamblador/Primeros_conceptos
                          
          2.2. Saltos
                   2.2.1. Incondicional
                           salto incondicionales (155626 bytes)
                           http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_lenguaje_ensamblador/Primeros_conceptos
                           http://members.tripod.com/~MoisesRBB/unidad5.htm
                          
                   2.2.2. Condicional
                           Saltos condicionales (34816 bytes)
                          
          2.3. Tipos de ciclos
                   2.3.1. Loop
                           Tipos de saltos (34816 bytes)
                           Saltos y ciclos (35661 bytes)
                          
          2.4. Operadores lógicos
                   2.4.1. And,Or, Not ...
                           operadores lógicos
                           operadores lógicos (155626 bytes)
                           http://www.gui.uva.es/udigital/05.html
                          
          2.5. Desplazamiento
                   2.5.1. Lineal
                           Desplazamiento lineal (51712 bytes)
                          
                   2.5.2. Circular
                           Desplazamientos circulares (51712 bytes)
                           Desplazamiento circular (155626 bytes)
                          
          2.6. Procesos de control
                   2.6.1. Banderas
                           http://www.legionarteydiseno.250x.com/spn/cursos/asm/unidad5.htm#clc
                           http://148.202.148.5/cursos/cc206/programaciondesistemas_1_4.htm
                           http://wikitec.itnogales.edu.mx/index.php?title=Lenguaje_Ensamblador_Unidad_II&redirect=no
                          
                   2.6.2. Cadenas
                           http://expo.itch.edu.mx/view.php?f=asm_25
                          
                   2.6.3. Cargas
                           http://www.scribd.com/doc/6643575/unidad-2-ensamblador
                          
3. 3
          3.1. Macros
                   3.1.1. Internas
                           (97280 bytes)
                           Macros (63488 bytes)
                           http://www.monografias.com/trabajos11/lenen/lenen2.shtml#ma
                          
                   3.1.2. Externas
                          
          3.2. Procedimientos
                   3.2.1. Internos
                           Conceptos de Funciones (94720 bytes)
                           http://www.iit.upcomillas.es/~cesar/teoria/4.%20ensamblador.pdf
                          
                   3.2.2. Externos
                           Procedimientos externos (34304 bytes)
                          
4. 4
          4.1. Directivas para compilación hibrida
                   4.1.1. Directivas para compilación híbrida
                           http://www.mitecnologico.com/Main/DirectivasParaCompilacionHibrida
                           http://wiki.gleducar.org.ar/wiki/Manual_FreePascal#Programaci.C3.B3n_de_bajo_nivel
                           http://atc.ugr.es/docencia/udigital/13.html
                           http://www.it.uc3m.es/ttao/html/SUB.html#sub:sec:compile
                          
          4.2. Funciones en ensamblador
                   4.2.1. Funciones en ensamblador
                           Funciones y macros en ensamblador (97280 bytes)
                           http://www.it.uc3m.es/ttao/html/SUB.html#sub:sec:subroutines
                          
          4.3. Bloques en Ensamblador
                   4.3.1. Bloques en ensamblador
                           http://www.it.uc3m.es/ttao/html/SUB.html#sub:sec:stackframe
                           http://www.legionarteydiseno.250x.com/spn/cursos/asm/unidad7.htm
                          
          4.4. Operadores
                   4.4.1. Operadores
                           operadores (170033 bytes)
                           http://proton.ucting.udg.mx/mateos/ensamblador/68HC11.html
                          
          4.5. Integrar módulos de ensamblador en lenguajes de alto nivel
                   4.5.1. Módulos de ensamblador en alto nivel
                           http://www.palomatica.info/juckar/sistemas/software/lenguajes.html
                           http://www.hostalruralpuertadecaderechas.com/emilio/ensamblador/programacio%20modular%202.pdf
                          

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

Cronogramas (20232024P)
Grupo Actividad Fecha Carrera

Temas para Segunda Reevaluación