INSTITUTO DE INGENIERÍA Y TECNOLOGÍA NEHRU
"Jardines Nehru" T. M. PALAYAM, COIMBATORE-105
(Aprobado por AICTE y afiliado a la Universidad de Anna, Chennai)
(Acreditado por NAAC, Reconocido por UGC con 2(f) y 12(B))
Cursos UG Acreditados por la NBA: AERO, CSE, DEPARTAMENTO DE MECH
DE CIENCIAS DE LA COMPUTACIÓN Y LA INGENIERÍA
EC8691 – MICROPROCESADORES Y
MICROCONTROLADORES
Preparado por
[Link], AP/CSE,
NIET.
UNIT I THE 8086
MICROPROCESADOR
Introducción al 8086 – Microprocesador
architecture – Addressing modes - Instruction
set and assembler directives –
Lenguaje ensamblador programación
Programación Modular - Vinculación y
Reubicación - Pilas - Procedimientos - Macros -
Interrupciones y rutinas de servicio de interrupción
Manipulación de Bytes y Cadenas.
PROGRAMACIÓN MODULAR
•Programación Modular
•Necesidad de Programación Modular
•¿Por qué la programación modular?
•Modularidad
•Ventajas de la Programación Modular
•Desventajas de la Programación Modular
PROGRAMACIÓN MODULAR
• programación modular de software
es diseño la técnica enfatiza
eso
separando la funcionalidad de un programa
independiente, intercambiable
módulos, tal cada uno contiene
todo lo necesario para ejecutar.
Necesidad de la Programación Modular
• Cuando un programa se vuelve muy grande y complejo,
se convierte en una tarea muy difícil para los programadores
diseñar, probar y depurar dicho programa.
• Por lo tanto, un programa largo puede ser dividido en un
programa más pequeño módulos llamados como
módulos la lata ser diseñado,
debugged separately, tetshteedtask ofanpdrogrammer
se vuelve fácil y conveniente.
•Hace que tu programa sea fácil de entender.
¿Por qué programación modular?
• Helps manage complexity Smaller blocks of
código
Más fácil de leer
• Fomenta la reutilización de código
Dentro de un programa en particular o a través de
diferentes programas
• Permite el desarrollo independiente de código
Modularidad
• How do you solve a big/complex problem?
• Divídelo en pequeñas tareas y resuelve cada una
tarea. Luego combina estas soluciones.
•En el microprocesador 8086 usamos funciones también referidas a
como
módulos para realizar tareas específicas que nosotros determinado en nuestro
•solución.
Esta estrategia se esencialmente en el divide-y-
basa
y tiene muchas ventajas sobre
enfoque para la resolución de problemas conquistar
desarrollando un programa para todo el problema.
•Asignaremos un nombre a cada módulo y combinaremos los nombres.
módulos en una estructura de programa bajo el control de un programa principal.
•Estructura de programa tal consiste en un conjunto de módulos y un orden
de ejecución.
•Cuando todos los módulos están probados como 'OK', se enlazan juntos para formar un
gran programa funcional.
1. Proceso de ensamblaje
• Como se mencionó anteriormente, el ensamblador traduce un archivo fuente que fue creado
usando el editor en lenguajes de máquina como binario u objeto
El ensamblador lee el archivo fuente de nuestro programa desde el disco.
donde lo guardamos después de editar. Un ensamblador generalmente lee nuestro archivo fuente
más de una vez.
• The assembler generates two files on thefloppyorharddisk during
estos dos pases. El primer archivo se llama el archivo objeto. El archivo objeto
contiene los códigos binarios para las instrucciones. El segundo archivo generado por
el ensamblador se llama archivo de lista del ensamblador. Este archivo contiene el
instrucciones de lenguaje de ensamblaje, el código binario para cada uno
instrucción, y el desplazamiento para cada instrucción.
• En la primera pasada, el ensamblador realiza las siguientes operaciones
1. Proceso de ensamblaje
• Leyendo las instrucciones del programa fuente.
• Creando un tabla de símbolos en la que todos
símbolos utilizados en
el programa, junto con sus atributos, se almacena.
• Reemplazando todos los códigos mnemotécnicos por su binario
códigos.
• Detectando errores de sintaxis en
el programa thesource.
• Asignando direcciones relativas a
instrucciones
y datos.
2. Proceso de vinculación
• Un enlazador es un programa utilizado para unir varios archivos de objeto.
en un solo archivo de objeto grande. Al escribir programas grandes, es
generalmente es mucho más eficiente dividir el gran programa en
módulos más pequeños. Cada programación modular puede ser
escritos, probados y depurados individualmente. Cuando todos los
El trabajo de programación modular, se puede vincular juntos para
formar un gran programa funcional.
• El enlazador produce un archivo de enlace que contiene el código binario.
para todos los módulos combinados.
[Link] de depuración
• Un depurador es un programa que nos permite cargar nuestro objeto
programar el código en la memoria del sistema, ejecutar el programa y depurarlo.
• ¿Cómo ayuda un depurador a depurar un programa?
• El depurador nos permite ver el contenido de los registros y la memoria
ubicaciones después de que nuestro programa se ejecute.
• Nos permite cambiar el contenido de los registros y las ubicaciones de memoria y
vuelve a ejecutar el programa.
• Algunos depuradores nos permiten detener la ejecución después de cada instrucción para que podamos verificar
o alterar el contenido de la memoria y los registros.
Ventajas de usar Modular
Programación
•Los módulos se pueden escribir y probar separadamente
•Modules can be reused
•Los grandes proyectos se pueden desarrollar en paralelo
•Reduce la longitud del programa, haciéndolo más
legible
•Promueve el concepto de abstracción
Desventajas de usar Modular
Programación
• La documentación de los módulos debe
be systematic.
• Puede llevar a los problemas cuando
módulos
están vinculados porque el enlace debe ser probado a fondo.
• Desde separado repetir mapa
módulos ciertos el modular
funciones, necesito tiempo extra y
programación a menudo
memoria.
Gracias
Tú