ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Cronograma

Franz RiberaTarea22 de Julio de 2015

2.519 Palabras (11 Páginas)276 Visitas

Página 1 de 11

PROGRAMA ANALÍTICO DE ASIGNATURA

  1. IDENTIFICACION DE LA MATERIA

NOMBRE DE LA ASIGNATURA        : Programación en Ensamblador

PRE-REQUISITOS                : INF - 211

SIGLA Y CODIGO                : INF - 221

NIVEL                                 : Cuarto Semestre

HORAS                                : 6 (4 HT, 2 HP)

CREDITOS                        : 5

Programa Vigente                : 1/2015

REVISADO EN                        : Febrero 2015

Docentes                        : Dr. Corrado Vallet

                                  Ing. Valentín Flores

2. JUSTIFICACION

Materia fundamental en la formación del estudiante, al permitirle adquirir un conocimiento detallado del funcionamiento de un programa en un procesador y de la metodología de programación de bajo nivel escribiendo y ejecutando programas escritos en lenguaje ensamblador específicamente para la arquitectura del procesador Intel 80x86 (IA32), buscando optimizar el uso del hardware.

3. OBJETIVOS DE LA ASIGNATURA

3.1 OBJETIVOS GENERAL

  • Escribir y ejecutar programas en lenguaje ensamblador para los procesadores Intel 80x86 (IA32).

3.2 OBJETIVOS ESPECIFICOS

  • Describir la arquitectura del procesador Intel80x86
  • Describir los diferentes componentes de los procesadores Intel 80x86.
  • Describir los registros del procesador.
  • Relacionar los registros del procesador con los diferentes modos de direccionamiento.
  • Conocer las distintas instrucciones del procesador Intel80x86.
  • Desarrollar programas en lenguaje ensamblador que contribuyan a la optimización de los recursos de una computadora.
  • Ampliar la lógica de programación y la resolución de problemas de parte del estudiante.

4. CONTENIDO MINIMO

Sistemas numéricos. Representación de los tipos de datos. La arquitectura de los procesadores Intel 80x86 (IA32). Registros del procesador. Modos de direccionamiento del procesador. Instrucciones del procesador. Instrucciones transferencia de datos. Instrucciones aritméticas y lógicas. Instrucciones de control de flujo. Instrucciones de manejo de cadenas. Instrucciones de llamadas a procedimientos. Manejo de entrada y salida. Estructura de un programa ensamblador. Programación en ensamblador: ensamblado, enlazado y ejecución. Programación en punto flotante.

5. UNIDADES DEL PROGRAMA ANALITICO

UNIDAD I  INTRODUCCIÓN

Tiempo: 14 Horas.

Objetivos:

  • Conocer la terminología básica y el contexto requerido para el estudio de la materia.
  • Comprender cómo se representan los diferentes tipos de datos en un computador.
  • Comprender cómo funciona un computador bajo el  modelo de Von Neumann.
  • Conocer los conceptos y diferencias entre el lenguaje Ensamblador y lenguaje de Máquina.

Contenido:

  1. Sistemas de numeración: DEC, BIN, HEX
  2. Conversión entre sistemas de numeración de diferentes bases.
  3. Operaciones aritméticas entre sistemas numeración de diferentes bases.
  4. Códigos BCD, ASCII, UNICODE.
  5. Aritmética BCD y ASCII
  6. Tipo de datos.
  7. Representación de números enteros  sin signo (SS).
  8. Representación de números enteros con signo (CS).
  9. Complementos:
  1. Complemento a 1
  2. Complemento a 2
  1. Representación en Signo/Magnitud, C1, C2.
  2. Aritmética de Complemento a 2 (suma y resta).
  3. Desbordamiento (overflow)
  4. Representación de números en punto flotante.
  5. Extensión con cero y extensión con signo.
  6. Operaciones lógicas: AND, OR, XOR, NOT
  7. Operaciones de desplazamiento lógicas, aritméticas y de rotación.
  8. Modelo de Von Neumann.
  9. El procesador (CPU).

1.18.1 La Unidad Aritmética y Lógica (ALU).

1.18.2 La Unidad de Control

  1. La Unidad de Memoria Principal
  2. Las Unidades de Entrada y salida.
  3. Buses de dirección, datos y control
  4. Las Instrucciones del procesador
  5. Lenguajes de programación
  1. Lenguaje de máquina
  2. Lenguaje ensamblador
  3. Lenguajes de alto nivel

UNIDAD II  EL PROCESADOR INTEL 80x86 (IA32)

Tiempo: 10 Horas.

Objetivos:

  • Conocer la arquitectura del procesador Intel 80x86 (IA32).
  • Describir los distintos registros del procesador.
  • Describir la organización de la memoria.

Contenido:

  1.  La familia de los procesadores Intel 80x86.
  2.  Arquitectura interna del procesador Intel x86-32 (IA32).
  3.  Modelo de programación.
  4.  Registros de 32 bits del procesador:
  1. Registros de propósito general (EAX, EBX, ECX, EDX)
  2. Registros punteros e índices (ESP, EBP) (ESI, EDI).
  3. Registros de segmento (SS, CS, DS, ES)
  4. Registro apuntador de instrucciones (EIP)
  5. Registros de punto flotante.
  6. Registro de banderas (flags).
  1.  Organización de la memoria.
  1. Orden de los bytes en memoria (Little-Endian y Big-Endian)
  1.  El stack (pila).
  2.  Unidad aritmética-lógica.

  2.8 Segmentación.

UNIDAD III  JUEGO DE INSTRUCCIONES DEL PROCESADOR

Tiempo: 18 Horas

Objetivos:

  • Conocer los diferentes modos de direccionamientos del procesador Intel 80x86
  • Conocer las principales instrucciones del procesador Intel 80x86.
  • Emplear diferentes modos de direccionamiento en las instrucciones.
  • Discriminar las instrucciones considerando los diferentes modos de direccionamiento.
  • Describir el proceso de transferencia entre registros y la memoria desde el punto de vista de las instrucciones del procesador.

Contenido:

  1.  Modos de direccionamiento
  1. Direccionamiento inherente
  2. Direccionamiento inmediato
  3. Direccionamiento por registro
  4. Direccionamiento directo
  5. Direccionamiento base más índice
  6. Direccionamiento relativo por registro
  7. Direccionamiento índice escalado
  8. Manejo de la pila (stack)

3.2  Instrucciones de movimientos de datos:

3.2.1 Instrucción MOV

3.2.2 Instrucciones PUSH, POP

3.3  Instrucciones aritméticas

3.3.1 Suma y resta:

ADD y SUB

ADC y SBB

INC y DEC

3.3.2         Multiplicación y división:

MUL y IMUL

DIV y IDIV; CBW, CWD, CDQ

  1.  Instrucciones lógicas:

AND, OR, XOR

NOT

  1.  Instrucciones de desplazamiento:

SHL, SHR, SAL,  SAR

  1.  Instrucciones de rotación:

ROL y ROR

  1.  Instrucciones de comparación:

CMP y TEST

  1.  Instrucciones de conversión de datos:

MOVZX, MOVSX, MOVSXD

  1.  Instrucciones de control de flujo:
  1. Instrucción de salto incondicional:

JMP

  1. Instrucciones de salto condicionales:

Jcc

3.9.3  Instrucción para manejo de ciclos:

 LOOP

     3.10 Instrucciones de cadenas de caracteres (strings):

LODS, STOS, MOVS, SCAS, CMPS

3.10.1 El prefijo REP

3.11 Instrucciones para aritmética BCD y ASCII.

UNIDAD IV  ESTRUCTURA DE UN PROGRAMA EN LENGUAJE ENSAMBLADOR

Tiempo: 18 Horas.

Objetivos:

  • Describir los componentes de un programa en ensamblador.
  • Establecer el procedimiento para la generación de programas ejecutables.
  • Ensamblar, enlazar y ejecutar programas escritos en ensamblador.
  • Escribir programas en ensamblador de 32-bits utilizando el ensamblador libre NASM (Netwide Assembler)  y el compilador GCC y ejecutar programas con el depurador OllyDbg.

Contenido:

4.1  Proceso de generación de una aplicación.

...

Descargar como (para miembros actualizados) txt (16 Kb) pdf (366 Kb) docx (587 Kb)
Leer 10 páginas más »
Disponible sólo en Clubensayos.com