Macroprocesador.

Slides:



Advertisements
Presentaciones similares
Diagramas de flujo Pseudo-código Ejercicios Instalación de C++
Advertisements

CLASE 4 EL ENSAMBLADOR.
No. Lista 31 Teresita Ramírez Uribe HORA: 8:00-9:00AM.
N.L 32 ROMERO HERNÁNDEZ GABRIELA VERÓNICA. HORA: 8:00-9:00AM ESQUELETO DE UN PROGRAMA EN ENSAMBLADOR.
Temas Operaciones básicas Instalando el compilador
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
Programación en Lenguaje Ensamblador.
2 Acciones y funciones 2.1 Concepto
Evidencia no. 5 modos de direccionamiento Paréntesis para poder resolverla ADD OP-DESTINO, OP.FUENTE OP1 OP2 SUMA= ADD ¿Cómo funciona? Op_Destino=Op_Destino+Op.Fuente.
MODOS DE DIRECCIONAMIENTO
TIPOS DE INSTRUCCIONES Y ESTRUCTURAS DE CONTROL
Funciones y Procedimientos(Pseudocódigo)
Funciones Ingeniero Anyelo Quintero. Funciones Variables globales Declaración de la función Cuerpo de la función Llamado a la función.
PBN © Jaime Alberto Parra Plaza CLASE 5 LOS SEGMENTOS.
Microprocesador (80X86) Universidad Nacional de Ingeniería
ESTRUCTURAS REPETITIVAS
En este bloque aprendimos como en office Word marcar entradas de índice y crear un índice, aplicar un formato a una entrada de índice. En Excel creamos.

SEMANA 03_2. ESCRITURA DE PROGRAMAS.COM DE FORMA AUTOMATICA EL ENLAZADOR GENERA UN FORMATO PARTICULAR PARA UN PROGRAMA.EXE. TAMBIEN PUEDE GENERAR UN PROGRAMA.COM.
SEMANA 01_2.
DEMOSTRACIONES SISTEMA MATEMÁTICO

Paso de Parámetros a una Función Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de.
UNIDAD III Procesadores de Macros L.I. & MSC OSCAR RAMÍREZ CORTÉS SISTEMAS DE PROGRAMACIÓN.
JOSE ALBERTO JIMENEZ JIMENEZ KATTY HIPOLITO. 7.1 INTRODUCCION AL LENGUAJE EMSAMBLADOR.
Lenguaje ensamblador Resumen en diapositivas
El proceso ensamblador. José Luis Vergara Soberanis.
Omar Herrera Caamal Rigoberto Lizárraga Luis Cetina Luna.
P ROCESO DE E NSAMBLADO Cámara Vázquez Berenice Rubí.
Hay muchas formas de implementar un TDA: Arreglos Estructuras y Clases. Aunque en este curso sólo trabajaremos con estructuras y arreglos, es importante.
Prof. Jonathan Silva Ingeniería Civil – Informática I Ingeniería Civil Informática I Clase 7 – Funciones y Procedimientos.
Page 1 Macroensamblador José Andrés Vázquez Flores Verano 2016 FCC-BUAP.
Una estrategia para evitar la sucesiones repetidas de instrucciones convertir la secuencia en un procedimiento e invocarlo cada vez que se necesite.
Introducción a la Programación Multimedial
REPUBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACION UNIVERSIDAD VALLE DEL MOMBOY FACULTAD DE INGENIERIA INTERRUPCIONES Autores:
Procesadores superescalares
Todo archivo se guarda en el disco duro con extensión .py
Métodos y parámetros.
El procesador Diseño del control.
Resolución de problemas y algoritmos
Clase 7 Assembly - Simulador MSX88.
Cada maquina tiene un lenguaje ensamblador distinto
Unidad 1. Conceptos básicos
Clase 6 Assembly - Simulador MSX88 Subrutinas.
Fundamentos de Programación
MEMORIA VISUAL.
Estas dos líneas de código permiten al Asm iniciar en Code Segment
Programación.
Plataformas cliente-servidor
Introducción a las ciencias de la computación Antonio López Jaimes
Introducción a las ciencias de la computación Antonio López Jaimes
UNIVERSIDAD NACIONAL SAN ANTONIO ABAD DE CUSCO ESCUELA PROFESIONAL INGENIERIA INFORMATICA Y DE SISTEMAS ESTUDIANTE : JAVIER WILLIAN HUAMAN HUAYLLANI TEMA.
SOFTWARE.
Tema 9. Estructuras de repetición. Clase 2
Funciones y Procedimientos(Pseudocódigo)
Ensamblador MC Beatriz Beltrán Martínez
Docente: Ing. Francisco Rodríguez
Símbolos Indice Pág. Direcionamiento Absoluto y Simbólico
Informática Ingeniería en Electrónica y Automática Industrial
MC Beatriz Beltrán Martínez Otoño 2017
El conjunto de palabras que yo uso se llama VOCABULARIO EL LÉXICO es el conjunto de palabras que forman una lengua El léxico, ordenado alfabéticamente,
LOGICA INTERACTIVA USO DEL HACER PARA Engloba un grupo de instrucciones HACER PARA [I] = 1 a 10 Es la única de las repetitivas que no depende de una expresion.
Programación Modular Programación de Computadoras - Hugo Vega Grupo2: Reina Rodríguez Miriam Salluca.
Ejercicio Escriba un programa que lea un archivo llamado Registro.txt donde viene por cada línea, el numero de matrícula, el nombre y los códigos de los.
El procesador Datapath y control.
Funciones Subprogramas definidos por el usuario Subprogrmas.
Estructuras repetitivas Contenido: Introducción Estructura repetir Estructura mientras Estructura para Ejercicios resueltos*Autoevaluación*Glosario*Cultura.
UNIDAD V ESTRUCTURAS REPETITIVAS (Para)
UNIDAD V ESTRUCTURA REPETITIVA (Mientras)
UNIDAD V ANIDAMIENTO DE CICLOS
Transcripción de la presentación:

Macroprocesador

Macro Bloque compactado de instrucciones que se repite frecuentemente en una aplicación Al ser invocada, el macroprocesador la expande, reemplazando el llamado con, el código fuente y las direcciones de memoria correspondientes

macro suma(sum1,sum2,total) mov ax, sum1 add ax, sum2 mov total,ax mend Definición MACRO PROCESADOR DATA SUM1 DD 250 SUM2 DD 125 RESUL DD CODE SUMA(SUM1,SUM2,RESUL) DATA SUM1 DD 250 SUM2 DD 125 RESUL DD CODE ;suma MOV AX,[20] ADD AX,[30] MOV [32],AX Llamado MEMORIA ENSAMBLADOR Descompactación Programa Ejecutable

macro Etiqueta (Parámetros) Definición Prototipo: macro Etiqueta (Parámetros) macro indica el inicio de la definición de una macro de nombre Etiqueta seguida de sus Parámetros, de entrada y salida después del prototipo, viene el cuerpo de la macro mend indica el final de la definición macro suma(sum1,sum2,total) mov ax, sum1 add ax, sum2 mov total,ax mend

DATA SUM1 DD 250 SUM2 DD 125 NOMBRE DW 8 RESUL DD CODE SUMA(SUM1,SUM2,RESUL) Llamado En aplicación, se invoca a las macros, indicando la Etiqueta y los Argumentos que se utilizarán en la expansión

Expansión La invocación se vuelve comentario DATA SUM1 DD 250 SUM2 DD 125 NOMBRE DW 8 RESUL DD CODE SUMA(SUM1,SUM2,RESUL) Expansión DATA SUM1 DD 250 SUM2 DD 125 RESUL DD CODE ;suma MOV AX,[20] ADD AX,[30] MOV [32],AX La invocación se vuelve comentario Se agrega el cuerpo correspondiente Se sustituyen los argumentos por sus direcciones de memoria Si hay cometarios, se eliminan

Macrodefiniciones Anidadas Macros que contienen definiciones de macros La definición de cada macro tiene que aparecer antes de ser invocada

Tablas del Macroprocesador Definiciones TabDef. Prototipo y cuerpo Nombres TabNom. Indice para TabDef Argumentos TabArg. Valores para una invocación TabDef TabNom TabArg 38 suma(sum1,sum2,total) mov ax,[20] add ax,[30] mov 32,ax suma 38 sum1 [20] sum2 [30] total [32]

Algoritmo… //Principal: Expansión = F CodOp=X Mientras (CodOp no sea mend) inicio TomaLínea() ProcesaLínea() fin //TomaLínea: Si (Expansión == T) inicio Toma la siguiente línea de la definición de la macro en TabDef Sustituye Parámetros por su posición fin si no Lee la siguiente línea del archivo fuente

…Algoritmo… DATA SUM1 DD 250 SUM2 DD 125 NOMBRE DW 8 RESUL DD CODE suma(SUM1,SUM2,RESUL) //ProcesaLínea: BuscaEnTabNom(CodOp) Si (lo encuentra) Expande() Si_no inicio Si (CodOp es macro) Define() Si_no EscribeEnArchivoExpandido(LíneaFuente) fin

…Algoritmo… //Define: EscribeEnTabNom(nombre) EscribeEnTabDef(prototipo) NIVEL = 1 Mientras (NIVEL > 0) inicio TomaLínea() Si (Línea != comentario) inicio Sustituye Parámetros por su Posición IntroduceEnTabDef(Línea) fin Si (CodOp = = macro) NIVEL++ Si (CodOp == mend) NIVEL- - macro suma(sum1,sum2,total) mov ax, sum1 add ax, sum2 mov total,ax mend

...Ejemplo DATA SUM1 DD 250 SUM2 DD 125 NOMBRE DW 8 RESUL DD CODE suma(SUM1,SUM2,RESUL)

DATA SUM1 DD 250 SUM2 DD 125 NOMBRE DW 8 RESUL DD CODE suma(SUM1,SUM2,RESUL) //Expande: Expansión = T TomaDeTabDef(Prototipo) CopiaATabArg(Argumentos) Escribe invocación como comentario Mientras (en TabDef no termine la macro) inicio TomaLínea() ProcesaLínea() fin Expansión = F DATA SUM1 DD 250 SUM2 DD 125 RESUL DD CODE ;suma MOV AX,[20] ADD AX,[30] MOV [32],AX …Algoritmo

Ultimo Ejercicio A partir de: el archivo del llamado TabDef en archivo Generar: TabSim Archivo expandido DATA SUM1 DD 250 SUM2 DD 125 RESUL DD CODE SUMA(SUM1,SUM2,RESUL) macro suma(sum1,sum2,total) mov ax, sum1 add ax, sum2 mov total,ax mend DATA SUM1 DD 250 SUM2 DD 125 RESUL DD CODE ;suma MOV AX,[20] ADD AX,[30] MOV [32],AX Ultimo Ejercicio