Procesadores de Macros. MIS. Lizbeth Alejandra Hernández González Programación de Sistemas

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Procesadores de Macros. MIS. Lizbeth Alejandra Hernández González Programación de Sistemas"

Transcripción

1 Procesadores de Macros MIS. Lizbeth Alejandra Hernández González Programación de Sistemas

2 Procesadores de Macros Una macroinstrucción no es más que una conveniencia notacional para el programador (versión abreviada). Cada vez que se llama una macro en un programa, el ensamblador, en lugar de la llamada a la macro, copia y pega el código real de la misma (MACROEXPANSIÓN).

3 Las funciones de un procesador de macros implican la sustitución de un grupo de caracteres o líneas por otras. El diseño de un procesador de macros no está directamente relacionado con la estructura del computador en el que se va a ejecutar.

4 El uso más común de los procesadores de macros es en la programación en lenguaje ensamblador, también se pueden utilizar procesadores de macros con lenguajes de programación de alto nivel, hay procesadores de macros de aplicación general que no están ligados a ningún lenguaje en particular.

5 Funciones básicas del procesador de macros Definición, invocación y expansión de macros Ejemplo: programa en ensamblador con macros. Este programa define y usa dos instrucciones a macros: RDBUFF y WRBUFF.

6 5 COPY START 0 COPIA EL ARCHIVO DE LA ENTRADA A LA SALIDA 10 ROBUFF MACRO &INDEV,&BUFADR,&RECLTH MACRO QUE LEE UN REGISTRO EN EL BUFFER CLEAR X LIMPIA EL CONTADOR DE CICLO 35 CLEAR A 40 CLEAR S 45 +LDT #4096 ASIGNA LA LONGITUD MAXIMA DEL REGISTRO 50 TD =X &INDEV PRUEBA EL DISPOSITIVO DE ENTRADA 55 JEQ *-3 REPITE EL CICLO HASTA QUE ESTE LISTO 60 RD =X &INDEV LEE EL CARÁCTER EN EL REGISTRO A 65 COMPR A,S EXAMINA SI HAY FIN DE REGISTRO 70 JEQ *+11 SALE DEL CICLO SI ES FIN DE REGISTRO 75 STCH $BUFADR,X ALMACENA EL CARÁCTER EN EL BUFFER 80 TIXT T REPITE EL CICLO A MENOS QUE SE HAYA 85 JLT *-19 ALCANZADO LA LONGITUD DEL REGISTRO 90 STX &RECLTH GUARDA LA LONGITUD DEL REGISTRO 95 MEND 100 WRBUFF MACRO &OUTDEV,&BUFADR,&RECLTH MACRO QUE ESCRIBE EL REGISTRO DEL BUFFER CLEAR X LIMPIA EL CONTADOR DE CICLO 125 LDT &RECLTH 130 LDCH &BUFADR,X TOMA EL CARACTER DEL BUFFER 135 TD =X &OUTDEV PRUEBA DEL DISPOSITIVO DE SALIDA 140 JEQ *-3 REPITE EL CICLO HASTA QUE ESTE LISTO 145 WD =X &OUTDEV ESCRIBE EL CARACTER 150 TIXR T REPITE EL CICLO HASTA QUE SE HAYAN 155 JLT *-14 ESCRITO TODOS LOS CARACTERES 160 MEND PROGRAMA PRINCIPAL FIRST STL RETADR GUARDA LA DIRECCIÓN DE RETORNO 190 CLOPP RDBUFF F1,BUFFER,LENGTH LEE EL REGISTRO DE ENTRADA EN EL BUFFER 195 LDA LENGTH VERIFICA SI ES FIN DE ARCHIVO 200 COMP #0 205 JEQ ENDFIL SALE SI ENCONTRO EL FIN DE ARCHIVO 210 WRBUFF 05,BUFFER,LENGTH ESCRIBE EL REGISTRO EN LA SALIDA 215 J CLOOP CICLO 220 ENDFIL WRBUFF 05,EOF,THREE INSERTA MARCA DE FIN DE ARCHIVO EOF BYTE C EOF 235 THREE WORD RETADR RESW LENGTH RESW 1 LONGITUD DEL REGISTRO 250 BUFFER RESB 4096 AREA DE BUFFER DE 4096 BYTES 255 END FIRST FIGURA 4.1 Uso de macros en un programa

7 5 COPY START 0 COPIA EL ARCHIVO DE LA ENTRADA EN LA SALIDA 180 FIRST STL RETADR GUARDA LA DIRECCION DE RETORNO 190.CL00P RDBUFF FI,BUFFER,LENGTH LEE EL REGISTRO DE ENTRADA EN EL BUFFER 190a CL00P CLEAR X LIMPIA EL CONTADOR DE CICLO 190b CLEAR A 190c CLEAR S 190d + LDT #4096 ASIGNA LA LONGITUD MAXIMA DEL REGISTRO 190d TD =X'F1' PRUEBA EL DISPOSITIVO DE ENTRADA 190e JEQ *-3 REPITE EL CICLO HASTA QUE ESTE LISTO 190f RD =X' F1' LEE EL CARACTER EN EL REGISTRO A 190g C0MPR A,S EXAMINA SI HAY FIN DE REGISTRO 190h JEQ *+11 SALE DEL CICLO SI ES FIN DE REGISTRO 190 i STCH BUFFER,X ALMACENA EL CARACTER EN EL BUFFER 190j TIXR T REPITE EL CICLO A MENOS QUE SE HAYA 190k JLT *-19 ALCANZADO LA LONGITUD MAXIMA 1901 STX LENGTH GUARDA LA LONGITUD DEL REGISTRO 195 LDA LENGTH VERIFICA SI ES FIN DE ARCHIVO 200 C0MP #0 205 JEQ ENDFIL SALE SI ENCONTRO EL FIN DE ARCHIVO 210 WRBUFF 05,BUFFER,LENGTH ESCRIBE EL REGISTRO EN LA SALIDA 210a CLEAR X LIMPIA EL CONTADOR DE CICLO 210b LDT LENGTH 210c LDCH BUFFER,X TOMA EL CARACTER DEL BUFFER 210d TD =X'05' PRUEBA EL DISPOSITIVO DE SALIDA 210e JEQ *-3 REPITE EL CICLO HASTA QUE ESTE LISTO 210f WD =X'05' ESCRIBE EL CARÁCTER 210g TIXR T REPITE EL CICLO HASTA QUE SE HAYAN 210h JLT *-14 ESCRITO TODOS LOS CARACTERES 215 J CL00P CICLO 220.ENDFIL WRBUFF 05,EOF,THREE INSERTA MARCA DE FIN DE ARCHIVO 220a ENDFIL CLEAR X LIMPIA EL CONTADOR DE CICLO 220b LDT THREEE 220c LDCH E0F,X TOMA EL CARACTER DEL BUFFER 220d TD =X '05' PRUEBA EL DISPOSITIVO DE SALIDA 220e JEQ *-3 REPITE EL CICLO HASTA QUE ESTE LISTO 220f WD =X '05' ESCRIBE EL CARÁCTER 220g TIXR T REPITE EL CICLO HASTA QUE SE HAYAN 220h JLT *-14 ESCRITO TODOS LOS CARACTERES EOF BYTE C'EOF' 235 THREE WORD RETADR RESW LENGTH RESW 1 LONGITUD DEL REGISTRO 250 BUFFER RESB 4096 AREA DE BUFFER DE 4096 BYTES 255 END FIRST FIGURA 4.2 Programa de figura 4.1 con macros expandidas

8 Dos nuevas instrucciones para el ensamblador: MACRO identifica el inicio de la definición de macros, MEND (línea 95) marca el final de la definición de macros, este lenguaje de macros, cada parámetro comienza con el carácter &, que facilita la sustitución de los parámetros durante la expansión de macros.

9 Una proposición de invocación a macros se suele denominar una macrollamada. Para evitar confusiones con la proposición de llamada utilizada en los procedimientos y subrutinas, es preferible usar el término invocación El programa de la figura 4.1 podría proporcionarse como entrada a un procesador de macros; la figura 4.2 muestra la salida que se generaría. Entrada (4.1) Salida (4.2)

10 Los argumentos y los parámetros se asocian entre sí, de acuerdo con sus posiciones. Las dos invocaciones de WRBUFF especifican argumentos distintos, por lo que producen expansiones distintas. Las proposiciones de invocación a macros se tratarán como comentarios, y las instrucciones generadas de las expansiones de macros se ensamblarán igual que si el programador las hubiera escrito directamente.

11 Las macroinstrucciones se han escrito para que el cuerpo de la macro no contenga etiquetas. Para evitar la duplicación de símbolos se han eliminado las etiquetas del cuerpo de definición de estas macros. "JLT *-14" práctica de programación pobre.

12 Tablas y lógica del procesador de macros Procesador de macros de dos pasos: 1. Procesar las definiciones de macros 2. Las proposiciones de invocación a macros se expanden durante el segundo paso. No permite que el cuerpo de una macroinstrucción contenga definiciones de otras macros

13 1 MACROS MACRO {Define las macros para la versión estándar de SIC} 2 RDUFF MACRO &INDEV,&BUFADR,&RECLTH.. {Versión estándar de SIC}. 3 MEND {Fin de RDBUFF} 4 WRBUFF MACRO &OUTDEV, &BUFADR, &RECLTH.. {Versión estándar de SIC}. 5 MEND {Fin de WRBUFF}... 6 MEND {Fin de MACROS} (a) 1 MACROX MACRO {Define las macros para SIC/XE} 2 RDUFF MACRO &INDEV,&BUFADR,&RECLTH.. {Versión SIC/XE}. 3 MEND {Fin de RDBUFF} 4 WRBUFF MACRO &OUTDEV,&BUFADR,&RECLTH.. {Versión SIC/XE}. 5 MEND {Fin de WRBUFF}... 6 MEND {Fin de MACROX} (b) FIGURA 4.3 Ejemplo de la definición de macros en el cuerpo de un macro.

14 Pueden ser útiles: La primera macro (MACROS) contiene proposiciones que definen RDBUFF, WRBUFF para SIC estándar (MACROX) define esas mismas macros para el sistema SIC/XE. El mismo programa puede ejecutarse sobre una máquina SIC estándar o una SIC/XE.

15 Programa 4.3 MACROS MACROX SIC estándar SIC / XE *La definición de MACROS o de MACROX no define RDBUFF ni las otras macroinstrucciones.

16 Un procesador de macros de un paso que pueda alternar entre la definición y la expansión de macros puede manejar macros como las de la figura 4.3 la definición de una macro debe aparecer en el programa fuente antes de cualquier proposición que invoque a la macro.

17 Estructuras de datos básicas implicadas en este procesador de macros. 1. TABDEF (tabla de definiciones ), se almacenan las definiciones de macros y las proposiciones que constituyen el cuerpo de la macro. 2. TABNOM, para cada macroinstrucción definida, contiene apuntadores al inicio y al final de la definición en TABDEF. Sirve de índice para TABDEF. 3. (TABARG) que se utiliza durante la expansión de las invocaciones a macros.

18 FIGURA 4.4 Contenido de las tablas del procesador de macros para el programa de la figura 4.1: (a) entradas de TABNOM y TABDEF que definen la macro RDBUFF, (b) entradas de TABARG para la invocación de RDBUFF en la línea 190.

19 Sustitución de los argumentos Para los parámetros se ha utilizado la notación posicional: el parámetro &INDEV se ha convertido en?1 (que indica el primer parámetro del prototipo), &BUFAJDR se ha convertido en?2, y así sucesivamente. Cuando se reconoce la notación?n, en una línea de TABDEF, una simple operación de indización proporciona el argumento apropiado de TABARG

20 Algoritmo de un procesador de macros de un paso FIGURA 4.5 comienza {procesador de macros} EXPANSION := FALSO mientras CODOP < > 'END' haz comienza TOMA-LINEA PROCESA-LINEA termina {mientras} termina {procesador de macros} procedimiento PROCESA-LINEA comienza busca CODOP en TABNOM si lo encuentra entonces EXPANDE deotro modo si CODOP = 'MACRO' entonces DEFINE de otro modo describe la línea fuente en el archivo expandido termina {PROCESA-LINEA}

21 procedimiento DEFINE comienza introduce el nombre de la macro en TABNOM introduce el prototipo de la macro en TABDEF NIVEL := 1 mientras NIVEL > 0 haz comienza TOMA-LINEA si no es una línea de comentario entonces comienza sustituye lanotación posicional por parámetros introduce la línea en TABDEF si CODOP = 'MACRO' entonces NIVEL := NIVEL + 1 de otro modo si CODOP = 'MEND' entonces NIVEL := NIVEL - 1 termina {si no es comentario} termina {mientras} guarda en TABNOM apuntadores al principio y al final de la definición termina {DEFINE}

22 procedimiento EXPANDE comienza EXPANSION := VERDADERO toma la primera línea de la definición de macros {prototipo} de TABDEF asigna los argumentos de la invocación a macros en TABARG escribe la invocación a macros en el archivo expandido como comentario mientras no se termine la definición de macros haz comienza TOMA-LINEA PROCESA-LINEA termina {mientras) EXPANSION := FALSO termina {EXPANDE) procedimiento TOMA-LINEA comienza si EXPANSION entonces comienza toma la siguiente línea de la definición de macros en TABDEF sustituye los argumentos de TABARG por notación posicional termina {si} de otro modo lee la siguiente línea del archivo de entrada termina {TOMA-LINEA) termina {TOMA-LINEA}

23 DEFINE, se llama al reconocer el inicio de una definición de macros, hace las entradas apropiadas en TABDEF y TABNOM. EXPANDE coloca los valores de los argumentos en TABARG y expande la proposición de invocación a macros. TOMA-LINEA, se llama en varios puntos del algoritmo, toma la siguiente línea que se va a procesar, y que puede proceder de TABDEF DEFINE tiene un contador llamado NIVEL, cuyo valor se incrementa en uno cada vez que se lee una proposición MACRO, y disminuye en uno su valor cada vez que se lee una proposición MEND como (para compaginar MACRO-END). Por el ej. 4.3

24 La mayoría de los procesadores de macros admiten la presencia de las definiciones de macros más usadas en la biblioteca estándar del sistema.

25 Características del procesador de macros independientes de la máquina Las características extendidas no están directamente relacionadas con la arquitectura del computador. 1. Concatenación de parámetros 2. Generación de etiquetas únicas 3. Expansión de macros condicional

26 Concatenación de parámetros Suponga series de variables: XA1, XA2, XA3,..., otra serie por XB1, XB2, XB3,... El parámetro de la macroinstrucción podría especificar las series de variables con que se operará (A, B, etc.). El procesador de macros utilizaría este parámetro para construir los símbolos requeridos en la expansión de macros (XA1, XB1, etc.).

27 LDA X&ID1 Cómo reconocer hasta dónde termina el parámetro? LDA X&ID»1

28 Generación de etiquetas únicas En general el cuerpo de una macroinstrucción no puede tener etiquetas del tipo usual. Por ejemplo, WRBUFF de la figura 4.1. Si se colocara una etiqueta en la instrucción TD de la línea 135, esta etiqueta se definiría dos veces. Muchos procesadores de macros evitan esos problemas mediante la creación de tipos especiales de etiqueta dentro de las macroinstrucciones.

29 Propuesta Las etiquetas utilizadas en el cuerpo de la macro comienzan con el carácter especial $ En la figura 4.7 (b) cada símbolo que empieza con $ se ha modificado reemplazándolo por $AA ($XX siendo XX alfanumérico) Se tienen hasta 1296 (36^2) expansiones de macros en un sólo programa. generación de etiquetas únicas

30 25 RDBUFF MACRO &INDEV,&BUFADR,&RECLTH 30 CLEAR X LIMPIA EL CONTADOR DE CICLO 35 CLEAR A 40 CLEAR S 45 +LDT #4096 ASIGNA LA LONGITUD MAXIMA DEL REGISTRO 50 $LOOP TD =X'&INDEV' PRUEBA EL DISPOSITIVO DE ENTRADA 55 JEQ $L00P REPITE EL CICLO HASTA QUE ESTE LISTO 60 RD -X'&INDEV" LEE EL CARACTER EN EL REGISTRO A 65 C0MPR A,S EXAMINA SI HAY FIN DE REGISTRO 70 JEQ $EXIT SALE DEL CICLO SI ES FIN DE REGISTRO 75 STCH &BUFADR,X ALMACENA EL CARACTER EN EL BUFFER 80 TIXR T REPITE EL CICLO A MENOS QUE SE HAYA 85 JLT $L00P ALCANZADO LA LONGITUD MAXIMA 90 $EXIT STX &RECLTH GUARDA LA LONGITUD DEL REGISTRO 95 MEND (a) RDBUFF FL,BUFFER,LENGTH 30 CLEAR X LIMPIA EL CONTADOR DE CICLO 35 CLEAR A 40 CLEAR S 45 +LDT #4096 ASIGNA LA LONGITUD MAXIMA DEL REGISTRO 50 $AAL00P TD =X'F1' PRUEBA EL DISPOSITIVO DE ENTRADA 55 JEQ $AAL00P REPITE EL CICLO HASTA QUE ESTE LISTO 60 RD =X'FL' LEE EL CARACTER EN EL REGISTRO A 65 COMPRN A,S EXAMINA SI HAY FIN DE REGISTRO 70 JEQ $AAEXIT SALE DEL CICLO SI ES FIN DE REGISTRO 75 STCH &BUFFER,X ALMACENA EL CARACTER EN EL BUFFER 80 TIXR T REPITE EL CICLO A MENOS QUE SE HAYA. 85 JLT $AAL00P ALCANZADO LA LONGITUD MAXIMA 90 $AAEXIT STX LENGTH GUARDA LA LONGITUD DEL REGISTRO 95 MEND (b) FIGURA 4.7 Generación de etiquetas únicas en la expansión de macros.

31 Expansión de macros condicional En esta sección se presenta un conjunto típico de proposiciones de expansión de macros condicional. Figura 4.8. &E0R, especifica un código de caracter hexadecimal que marca el final de un registro, y &MAXLTH, que especifica la longitud máxima de registro que se puede leer. (Como se verá más adelante, es posible omitir cualquiera de los dos parámetros en una invocación de REDBUFF.)

32 Las proposiciones de las líneas 44 a 48 de esta definición ilustran una estructura condicional (IF) La figura 4.8(b-d) muestra la expansión de tres diferentes proposiciones de invocación a macros que ilustran la operación de las proposiciones IF de la figura 4.8(a).

33 25 RDBUFF MACRO &INDEV,&BUFADR,&RECLTH,&EOR,&MAXLTH 26 IF (&E0R NE ") 27 $E0RCK SET 1 28 ENDIF 30 CLEAR X LIMPIA EL CONTADOR DEL CICLO 35 CLEAR A 38 IF (&EOR EQ 1) 40 LDCH =X'&E0R' ASIGNA EL CARACTER DE FIN DE REGISTRO 42 RMO A,S 43 ENDIF 44 IF (&MAXLTH EQ ") 45 +LDT #4096 HACE LA LONGITUD MAXIMA = ELSE 47 +LDT # &MAXLTH ASIGNA LA LONGITUD MAXIMA DEL REGISTRO 48 ENDIF 50 $LOOP TD =X'&INDEV' PRUEBA EL DISPOSITIVO DE ENTRADA 55 JEQ $L00P REPITE EL CICLO HASTA QUE ESTE LISTO 60 RD -X'&INDEV' LEE EL CARACTER EN EL REGISTRO A 63 IF (&E0R EQ 1) 65 COMPR A,S EXAMINA SI HAY FIN DE REGISTRO 70 JEQ $EXIT SALE DEL CICLO SI ES FIN DE REGISTRO 73 ENDIF 75 STCH &BUFADR,X ALMACENA EL CARACTER EN EL BUFFER 80 TIXR T REPITE EL CICLO A MENOS QUE SE HAYA 85 JLT $LOOP ALCANZADO LA LONGITUD MAXIMA 90 $EXIT STX &RECLTH GUARDA LA LONGITUD DEL REGISTRO 95 MEND (a)

34 Uso de proposiciones condicionales en el procesamiento de macros RDBUFF F3,BUF,RECL,04, CLEAR X LIMPIA EL CONTADOR DE CICL0 35 CLEAR A 40 LDCH =X'04' ASIGNA EL CARACTER DE FIN DE REGISTRO 42 RMO A,S 47 +LDT #2048 ASIGNA LA LONGITUD MAXIMA DEL REGISTRO 50 $AALOOP TD =X'F3' PRUEBA EL DISPOSITIVO DE ENTRADA 55 JEQ $AAL00P REPITE EL CICLO HASTA QUE ESTE LISTO 60 RD =X'F3' LEE EL CARACTER EN EL REGISTRO A 65 COMPR A,S EXAMINA SI HAY FIN DE REGISTRO 70 JEQ $AAEXIT SALE DEL CICLO SI ES FIN DE REGISTRO 75 STCH $BUF,X ALMACENA EL CARACTER EN EL BUFFER 80 TIXR T REPITE EL CICLO A MENOS QUE SE HAYA 85 JLT $AAL00P ALCANZADO LA LONGITUD MAXIMA 90 $AAEXIT STX RECL GUARDA LA LONGITUD DEL REGISTRO (b)

35 (c) (c) RDBUFF 0E,BUFFER,LENGTH,,80 30 CLEAR X LIMPIA EL CONTADOR DE CICLO 35 CLEAR A 47 +LDT #80 ASIGNA LA LONGITUD MAXIMA DEL REGISTRO 50 $ABL00P TD =X'0E' PRUEBA EL DISPOSITIVO DE ENTRADA 55 JEQ $ABL00P REPITE EL CICLO HASTA QUE ESTE LISTO 60 RD =X'0E' LEE EL CARACTER EN EL REGISTRO A 75 STCH BUFFER,X ALMACENA EL CARACTER EN EL BUFFER 80 TIXR T REPITE EL CICLO A MENOS QUE SE HAYA 87 JLT $ABL00P ALCANZADO LA LONGITUD MAXIMA 90 $ABEXIT STX LENGTH GUARDA LA LONGITUD DEL REGISTRO

36 (d) (d) RDBUFF F1,BUFF,RLENG,04 30 CLEAR X LIMPIA EL CONTADOR DE CICLO 35 CLEAR A ' 40 LDCH =X'04' ASIGNA EL CARACTER DE FIN DE REGISTRO 42 RM0 A,S 45 +LDT #4096 ASIGNA LA LONGITUD MAXIMA DEL REGISTRO = $ACL00P TD =X / F1 ' PRUEBA EL DISPOSITIVO DE ENTRADA 55 JEQ $ACL00P REPITE EL CICLO HASTA QUE ESTE LISTO 60 RD =X'F1' LEE EL CARACTER EN EL REGISTRO A 65 C0MPR A,S EXAMINA SI HAY FIN DE REGISTRO 70 JEQ $ACEXIT SALE DEL CICLO SI ES FIN DE REGISTRO 75 STCH &BUFF,X ALMACENA EL CARACTER EN EL BUFFER 80 TIXR T REPITE EL CICLO A MENOS QUE SE HAYA 85 JLT $ACL00P ALCANZADO LA LONGITUD MAXIMA 90 $ACEXIT STX RLENG GUARDA LA LONGITUD DEL REGISTRO

37 El procesador de macros debe mantener una tabla de símbolos que contenga los valores de todas las variables utilizadas en el momento del procesamiento. La prueba de expresiones booleanas en las proposiciones IF se produce en el momento en que se expanden las macros.

38 Uso de proposiciones de ciclo en el momento del procesamiento de macros 25 RDBUFF MACRO &INDEV,8tBUFADR,&RECLTH,&E0R 27 $E0RCT SET %NITEMS(&EOR) 30 CLEAR X LIMPIA EL CONTADOR DE CICLO 35 CLEAR A 45 +LDT #4096 HACE LA LONGITUD MAXIMA = $LOOP TD -X'&INDEV' PRUEBA EL DISPOSITIVO DE ENTRADA 55 JEQ $L00P REPITE EL CICLO HASTA QUE ESTE LISTO 60 RD =X'&INDEV' LEE EL CARACTER EN EL REGISTRO A 63 &CTR SET 1 64 WHILE (&CTR LE &E0R) 65 COMP =X'0000&E0R[&CTR]' 70 JEQ $EXIT 71 &CTR SET &CTR+1 73 ENDW 75 STCH &BUFADR,X ALMACENA EL CARACTER EN EL BUFFER 80 TIXR T REPITE EL CICLO A MENOS QUE SE HAYA 85 JLT $LOOP ALCANZADO LA LONGITUD MAXIMA 90 $EXIT STX &RECLTH GUARDA LA LONGITUD DEL REGISTRO 100 MEND (a)

39 ( b ) RDBUFF F2,BUFFER,LENGTH,(00,03,04) 30 CLEAR X LIMPIA EL CONTADOR DE CICLO 35 CLEAR A 45 +LDT #4096 HACE LA LONGITUD MAXIMA = $AALOOP TD =X'F2' PRUEBA EL DISPOSITIVO DE ENTRADA 55 JEQ $AALOOP REPITE EL CICLO HASTA QUE ESTE LISTO 60 RD =X'F2' LEE EL CARACTER EN EL REGISTRO A 65 COMP =X'000000' 70 JEQ $SAAEXIT 65 COMP =X'000003' 70 JEQ $AAEXIT 65 COMP =X'000004' 70 JEQ $AAEXIT 75 STCH BUFFER,X ALMACENA EL CARACTER EN EL BUFFER 80 TIXR T REPITE EL CJCLO A MENOS QUE SE HAYA 85 JLT $AALOOP ALCANZADO LA LONGITUD MAXIMA 90 $AAEXIT STX LENGTH GUARDA LA LONGITUD DEL REGISTRO

40 con esta definición el programador puede especificar una lista de caracteres de fin de registro. P.e., en la proposición de invocación a macros de la figura 4.9(b), hay una lista (00,03,04) correspondiente al parámetro &EOR

41 Parámetros de macros de palabras clave Con los parámetros posicionales, el programador ha de procurar especificar los argumentos en el orden apropiado. Si se va a omitir un argumento, la invocación debe contener un argumento nulo 4.8.c) GENERA,,DIRECT,,,,,,3. (ver figura parámetros de palabras clave, el valor de los argumentos se escribe con una palabra clave.

42 GENERA TYPE=DIRECT,CHANNEL=3. En el prototipo de macro, cada nombre de parámetro va seguido de un signo = que identifica un parámetro de palabra clave. Después del signo igual, se especifica un valor por omisión para algunos parámetros. El parámetro tiene este valor por omisión si su nombre no aparece en la proposición de invocación a macros.

43

44

45 Valores por omisión Para el parámetro &INDEV es F1. Para el parámetro & BUFADR no hay valor por omisión. Aquí los argumentos pueden aparecer en cualquier orden.

Macro Procesadores Universidad Autónoma Metropolitana - Azcapotzalco

Macro Procesadores Universidad Autónoma Metropolitana - Azcapotzalco Macro Procesadores Universidad Autónoma Metropolitana - Azcapotzalco María Paula Ortuño Sánchez November 30, 2005 Contents 1 Macroprocesadores 2 11 Funciones básicas de un Macro Procesador 2 2 Algoritmo

Más detalles

Procesadores de Macros Parte 2. MIS. Lizbeth Alejandra Hernández González Programación de Sistemas

Procesadores de Macros Parte 2. MIS. Lizbeth Alejandra Hernández González Programación de Sistemas Procesadores de Macros Parte 2 MIS. Lizbeth Alejandra Hernández González Programación de Sistemas Opciones de diseño para el procesador de macros El algoritmo de la figura 4.5 no funciona bien si aparece

Más detalles

INDICE. Pág. Introducción 2. Cargadores y Ligadores 3. Funciones Básicas del Cargador 3. Características del Cargador Dependientes de la Maquina 5

INDICE. Pág. Introducción 2. Cargadores y Ligadores 3. Funciones Básicas del Cargador 3. Características del Cargador Dependientes de la Maquina 5 INDICE Pág. Introducción 2 Cargadores y Ligadores 3 Funciones Básicas del Cargador 3 Características del Cargador Dependientes de la Maquina 5 Relocalización 5 Tablas y Lógica de un Cargador Ligador 6

Más detalles

Programación de Sistemas. Unidad 1. Programación de Sistemas y Arquitectura de una Computadora

Programación de Sistemas. Unidad 1. Programación de Sistemas y Arquitectura de una Computadora Programación de Sistemas Unidad 1. Programación de Sistemas y Arquitectura de una Computadora Programación de Sistemas Arquitectura de una Computadora Componentes de un Sistema de Cómputo Un sistema está

Más detalles

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria 1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo

Más detalles

Tema 05: Elementos de un programa en C

Tema 05: Elementos de un programa en C Tema 05: Elementos de un programa en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1

Más detalles

GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo:

GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo: Cuestionario Modulo 1.1 GLOSARIO 1. Qué es bit y byte? Bit: Es la unidad mínima de información. Puede ser 0 o 1. Byte: Es el conjunto de 8 bits. Ejemplo: 1001 0110. 2. qué es Dato? Definición: Es toda

Más detalles

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR Tema 1. Programación de un computador TEMA 1. CIÓN DE UN COMPUTADOR 1. CONCEPTO DE 2. LENGUAJES DE CIÓN 2.1. LENGUAJE MÁQUINA 2.2. LENGUAJE ENSAMBLADOR 2.3. LENGUAJE DE ALTO NIVEL 3. ALGORITMOS. REPRESENTACIÓN

Más detalles

Analizador Léxico. Programación II Margarita Álvarez. Analizador Léxico - Funciones

Analizador Léxico. Programación II Margarita Álvarez. Analizador Léxico - Funciones Analizador Léxico Programación II Margarita Álvarez Analizador Léxico - Funciones Función Principal Leer carácter por carácter de la entrada y elaborar como salida una secuencia de componentes léxicos

Más detalles

Lenguajes de programación. Algoritmos y Estructuras de Datos I. Lenguajes compilados. Lenguajes compilados

Lenguajes de programación. Algoritmos y Estructuras de Datos I. Lenguajes compilados. Lenguajes compilados Lenguajes de programación Algoritmos y Estructuras de Datos I Primer cuatrimestre de 2014 Departamento de Computación - FCEyN - UBA Teórica - clase 3 Introducción a la programación imperativa Las computadoras

Más detalles

Tema 3: Lenguaje ensamblador. La primera abstracción de la máquina para el programador

Tema 3: Lenguaje ensamblador. La primera abstracción de la máquina para el programador Tema 3: Lenguaje ensamblador La primera abstracción de la máquina para el programador Índice Introducción. Generación código máquina: ensamblador, montador y cargador. Instrucciones y directivas. Macros

Más detalles

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina Unidad II: Fundamentos de la Programación Estructurada Algoritmo, Estructuras y Programación I Ing. Marglorie Colina Estructura General de un Programa Zona de ficheros de cabecera de las librerías Zona

Más detalles

UNIDAD I CONCEPTOS GENERALES. Conceptos Generales Microprocesadores Otoño 2011

UNIDAD I CONCEPTOS GENERALES. Conceptos Generales Microprocesadores Otoño 2011 1 UNIDAD I CONCEPTOS GENERALES Fall 2011 Conceptos Generales Microprocesadores Otoño 2011 Contenido 2 Introducción Arquitectura generalizada de una computadora Componentes de una computadora Conjunto de

Más detalles

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL 1 TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL TECNOLOGÍA DE LA COMPUTADORA FACILITADOR: PARTICIPANTE: DAVID, CHIRIQUÍ 2015 2 Qué es un programa? Un programa informático es un conjunto

Más detalles

Programación en Lenguaje C

Programación en Lenguaje C Lenguaje de programación C Programación en Lenguaje C Introducción El Lenguaje de programación C fue implantado por primera vez en los años 70 por Dennis Ritchie para una computadora DEC PDP-11 corriendo

Más detalles

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación. ALGORITMOS SECUENCIALES: La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente

Más detalles

RESEÑA DE LENGUAJE C

RESEÑA DE LENGUAJE C RESEÑA DE LENGUAJE C VARIABLES La función main. Es el punto de entrada al programa. void main(void) Aquí escribo mi programa Tipos de datos. Char. El char es una variable de 1 byte. Almacena números enteros.

Más detalles

PHP: Lenguaje de programación

PHP: Lenguaje de programación Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Tipos de datos Enteros Con base decimal: 45, -43 Con base octal: 043, -054

Más detalles

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS

GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS GENERACIÓN DE CÓDIGO ORIENTADO A OBJETOS A.- ASPECTOS FUNDAMENTALES DEL CÓDIGO ORIENTADO A OBJETOS MÓDULOS DE CÓDIGO: El código en Visual Basic se almacena en módulos. Hay tres tipos de módulos: de formulario,

Más detalles

Programación Básica Estructuras de Datos y Funciones en C

Programación Básica Estructuras de Datos y Funciones en C Arturo Vega González a.vega@ugto.mx Division de Ciencias e Ingenierías Universidad de Guanajuato Campus León Sesión 8 Universidad de Guanajuato, DCI, Campus León 1 / 33 Contenido 1 Estructuras de Datos

Más detalles

Tema 2 Introducción a la Programación en C.

Tema 2 Introducción a la Programación en C. Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes

Más detalles

Archivo ASM. Es el documento que contiene el código fuente del programa.

Archivo ASM. Es el documento que contiene el código fuente del programa. ESTRUCTURA GENERAL Todo programa en ensamblador debe ser generado con extensión ASM. Al ser ensamblado se generan archivos en código objeto (OBJ) para reconocer los mnemónicos como códigos de operación.

Más detalles

Arquitectura del CPU. Organización del Computador 1 Verano 2016

Arquitectura del CPU. Organización del Computador 1 Verano 2016 Arquitectura del CPU Organización del Computador 1 Verano 2016 Agenda De dónde venimos? Introducción: esquema de una computadora Representación de la información Circuitos Combinatorios Circuitos Secuenciales

Más detalles

Arquitectura de Computadoras

Arquitectura de Computadoras 4-1 Arquitectura de Computadoras Tema 4: Arquitectura del Set de Instrucciones Eduardo Daniel Cohen dcohen@arnet.com.ar http://www.herrera.unt.edu.ar/arqcom 4-2 Arquitectura del Set de Instrucciones Indice

Más detalles

Estructuras de control

Estructuras de control Estructuras de control Introducción Los algoritmos vistos hasta el momento han consistido en simples secuencias de instrucciones; sin embargo, existen tareas más complejas que no pueden ser resueltas empleando

Más detalles

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos:

Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos: Tipos de datos. Dato: Es toda la información que utiliza el computador. Según sea la información que guardemos en los datos, se clasifican en los siguientes tipos: I Numéricos: Almacenan números y con

Más detalles

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz

Compiladores y Lenguajes de Programación. Maria de Guadalupe Cota Ortiz Compiladores y Lenguajes de Programación Maria de Guadalupe Cota Ortiz Organizaciones que rigen las normas para estandarización de Lenguajes de Programación IEEE (Instituto de Ingenieros Eléctricos y Electrónicos)

Más detalles

Estructuras de Control

Estructuras de Control Algorítmica y Lenguajes de Programación Estructuras de Control Estructuras de Control. Introducción Hasta ahora algoritmos han consistido en simples secuencias de instrucciones Existen tareas más complejas

Más detalles

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

Más detalles

MODULO II PROGRAMACIÓN ORIENTADA A EVENTOS

MODULO II PROGRAMACIÓN ORIENTADA A EVENTOS MODULO II PROGRAMACIÓN ORIENTADA A EVENTOS Índice 1. Concepto Visual Basic 2. Elementos del lenguaje.- Ventana principal de Visual Basic. 3. Desarrollo de Aplicación. Concepto Visual Basic Visual Basic

Más detalles

Unidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño

Unidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño Instituto Universitario Politécnico Santiago Mariño Unidad Nº II Capacidad de la unidad central de procesamiento Organización de instrucción de máquina Cada instrucción requiere la información que necesita

Más detalles

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

Laboratorio de Arquitectura de Redes. Entrada y salida estándar Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada

Más detalles

Práctica de Arquitectura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2016/2017

Práctica de Arquitectura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2016/2017 Práctica de Arquitectura de Computadores Sistemas de Entrada/Salida: Entrada/Salida Programada Curso 2016/2017 Antonio Pérez Ambite Santiago Rodríguez de la Fuente Departamento de Arquitectura y Tecnología

Más detalles

Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos.

Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos. Lenguaje C Un poco de historia C es un lenguaje de propósito general, es decir, se pueden desarrollar aplicaciones de diversas áreas. Dentro de sus principales características podemos mencionar que: Es

Más detalles

Programación imperativa. Algoritmos y Estructuras de Datos I. Lenguaje C. Segundo cuatrimestre de 2014

Programación imperativa. Algoritmos y Estructuras de Datos I. Lenguaje C. Segundo cuatrimestre de 2014 Programación imperativa Algoritmos y Estructuras de Datos I Segundo cuatrimestre de 2014 Departamento de Computación - FCEyN - UBA Programación imperativa - clase 4 Modelo de cómputo: Un programa consta

Más detalles

Conceptos Programa Programa objeto Pseudocódigo Algoritmos y Diagramas de flujo 1) Finitud 2) Definición 3) Entrada

Conceptos Programa Programa objeto Pseudocódigo Algoritmos y Diagramas de flujo 1) Finitud 2) Definición 3) Entrada Conceptos Programa Se le llama programa a la serie de instrucciones escritas en alguno de los lenguajes, por medio de los cuales se logra que la computadora realice todas las operaciones o decisiones señaladas

Más detalles

1.2.-Analisis de los componentes

1.2.-Analisis de los componentes 1.2.-Analisis de los componentes 1.2.1.-CPU La Unidad Central de Proceso (conocida por sus siglas en inglés, CPU). Es el lugar donde se realizan las operaciones de cálculo y control de los componentes

Más detalles

Conocimientos previos

Conocimientos previos Ficha de aprendizaje Tema: Datos, variables y Operaciones n 6 Logro Reconoce las partes de un programa y comprende su estructura. Reconoce la diferencia entre los tipos de datos. Asigna datos a las variables

Más detalles

n 6 Logro Conocimientos previos Tema: Datos y # Ficha de aprendizaje

n 6 Logro Conocimientos previos Tema: Datos y # Ficha de aprendizaje Tema: Datos y variables Ficha de aprendizaje n 6 Logro Conoce las partes de un programa. Conoce los tipos de variables. Usa estas variables para hacer programaciones básicas. @ # Conocimientos previos

Más detalles

Introducción a PL/SQL

Introducción a PL/SQL Introducción a PL/SQL Grupo de Ingeniería del Software y Bases de Datos Departamento de Lenguajes y Sistemas Informáticos Universidad de Sevilla noviembre 2011 Objetivos de este tema Conocer PL/SQL. PL/SQL

Más detalles

DISEÑO CURRICULAR ARQUITECTURA DEL COMPUTADOR

DISEÑO CURRICULAR ARQUITECTURA DEL COMPUTADOR DISEÑO CURRICULAR ARQUITECTURA L COMPUTADOR FACULTAD (ES) CARRERA (S) Ingeniería Computación y Sistemas. CÓDIGO HORAS TEÓRICAS HORAS PRÁCTICAS UNIDAS CRÉDITO SEMESTRE 126643 02 02 03 VI PRE-REQUISITO ELABORADO

Más detalles

PRÁCTICA # 2. 0 Direcciones 1 Dirección 2 Direcciones 3 Direcciones

PRÁCTICA # 2. 0 Direcciones 1 Dirección 2 Direcciones 3 Direcciones UNIVERSIDAD CENTRAL DE VENEZUELA FACULTAD DE CIENCIAS ESCUELA DE COMPUTACIÓN UNIDAD DOCENTE DE REDES, ARQUITECTURA Y SISTEMAS ORGANIZACIÓN Y ESTRUCTURA DEL COMPUTADOR I PRÁCTICA # 2 1. Escriba programas

Más detalles

Shell Script Sistemas Operativos III - ITS EMT - CETP

Shell Script Sistemas Operativos III - ITS EMT - CETP Shell Script SHELL tiene dos formas distintas de ejecutar comandos : Archivos binarios Programas compilados y de los cuales existe un ejecutable archivos.exe ó.com en MS-DOS Archivos de texto Contienen

Más detalles

Arquitectura de Conjunto de Instrucciones (ISA) Integer Java Virtual Machine (IJVM) para Mic-1

Arquitectura de Conjunto de Instrucciones (ISA) Integer Java Virtual Machine (IJVM) para Mic-1 Universidad Simón Bolívar Departamento de Electrónica y Circuitos EC2721 Arquitectura del Computador I Prof. Osberth De Castro Clase 03 Arquitectura de Conjunto de Instrucciones (ISA) Integer Java Virtual

Más detalles

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS Una vez que ya sabes crear tus propios programas, vamos a analizar los fundamentos del lenguaje de programación C. Este capítulo incluye además los siguientes temas:

Más detalles

ESTRUCTURA SECUENCIAL ESTRUCTURA SELECTIVA

ESTRUCTURA SECUENCIAL ESTRUCTURA SELECTIVA ESTRUCTURA SECUENCIAL Es aquélla en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta

Más detalles

Diagrama de una computadora. Unidad Central de procesamiento (CPU)

Diagrama de una computadora. Unidad Central de procesamiento (CPU) 2008 FORTRAN 90/95 Diagrama de una computadora Memoria principal Memoria secundaria Memoria interna (registros) Periféricos de entrada Unidad de control Periféricos de salida Unidad aritmética y lógica

Más detalles

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C Algoritmo y Estructura de Datos Ing. M. Laura López 1 Estructura de un programa en C 2 Estructura de un programa en C #include Archivos de cabecera # define Definición de constantes Declaraciones Globales

Más detalles

INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION

INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION INFORMATICA TECNICATURA DE NIVEL SUPERIOR ALGUNOS EJERCICIOS DE SELECCIÓN E ITERACION DIIAGRAMAS DE FLUJO Un diagrama de flujo es un dibujo que utiliza símbolos estándar de diagramación de algoritmos para

Más detalles

Un. VI. Generador de código intermedio.

Un. VI. Generador de código intermedio. Un. VI. Generador de código intermedio. La administración de la memoria se da en esta etapa. Se debe considerar tanto la memoria estática como dinámica, y en esta se utilizan generalmente pilas. Los lenguajes

Más detalles

Informática Ingeniería en Electrónica y Automática Industrial

Informática Ingeniería en Electrónica y Automática Industrial Informática Ingeniería en Electrónica y Automática Industrial Entrada y salida estándar V1.3 Autores Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato:

Más detalles

Variables lógicas y sentencia IF

Variables lógicas y sentencia IF Variables lógicas y sentencia IF Seminario de Computación Verano de 2009 Variables lógicas: Solo pueden tomar 2 valores:.true. y.false. (verdadero o falso). Existen operadores que aplicados a variables

Más detalles

Variables lógicas y sentencia IF. Seminario de Computación Verano de 2009

Variables lógicas y sentencia IF. Seminario de Computación Verano de 2009 Variables lógicas y sentencia IF Seminario de Computación Verano de 2009 Variables lógicas: Solo pueden tomar 2 valores:.true. y.false. (verdadero o falso). Existen operadores que aplicados a variables

Más detalles

TEMA 5. PROGRAMACIÓN BÁSICA EN MATLAB /OCTAVE

TEMA 5. PROGRAMACIÓN BÁSICA EN MATLAB /OCTAVE BLOQUE TEMÁTICO II TEMA 5 TEMA 5. PROGRAMACIÓN BÁSICA EN MATLAB /OCTAVE 5.1. Introducción a Matlab y Octave 5.2. Entrada y salida con formato 5.3. Programas: script y funciones 5.4. Estructuras alternativas

Más detalles

Arquitectura de Computadores II Clase #3

Arquitectura de Computadores II Clase #3 Arquitectura de Computadores II Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Registros Repertorio de instrucciones Modos de direccionamiento El

Más detalles

RELACIÓN DE PROBLEMAS DE LÓGICA PROGRAMADA (TEMA 4)

RELACIÓN DE PROBLEMAS DE LÓGICA PROGRAMADA (TEMA 4) RELACIÓN DE PROBLEMAS DE LÓGICA PROGRAMADA (TEMA 4) 1) Se ha escrito el programa adjunto en lenguaje ensamblador del microprocesador 8085. Sabiendo que se encuentra almacenado a partir de la posición 2000H

Más detalles

TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS.

TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. 1 TAREA 1. INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS. 1- Cuáles son las principales funciones de un sistema operativo? Los Sistemas Operativos tienen como objetivos o funciones principales lo siguiente; Comodidad;

Más detalles

Sistemas con Microprocesadores I

Sistemas con Microprocesadores I Sistemas con Microprocesadores I 1 Microcontroladores Introducción Harvard vs. von-neumann Clasificación del procesador Segmentado o Pipeline Ortogonal vs. No ortogonal 2 Microcontroladores PIC Siglas

Más detalles

Características de JavaScript

Características de JavaScript Características de JavaScript Qué es JavaScript? o Lenguaje de programación interpretado utilizado fundamentalmente para dotar de comportamiento dinámico a las páginas web. o Cualquier navegador web actual

Más detalles

Manual de turbo pascal

Manual de turbo pascal Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de

Más detalles

Entender los aspectos técnicos, por los cuales un intruso puede ingresar a un sistema y tomar el control de este

Entender los aspectos técnicos, por los cuales un intruso puede ingresar a un sistema y tomar el control de este COMO PENETRAR UN SISTEMA POR MEDIO DE DESBORDAMIENTO DE BUFFER OBJETIVO Entender los aspectos técnicos, por los cuales un intruso puede ingresar a un sistema y tomar el control de este AGENDA Programas

Más detalles

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda

ENTRADA-SALIDA. 2. Dispositivos de Carácter: Envía o recibe un flujo de caracteres No es direccionable, no tiene operación de búsqueda Tipos de Dispositivos ENTRADA-SALIDA 1. Dispositivos de Bloque: Almacena información en bloques de tamaño fijo (512b hasta 32Kb) Se puede leer o escribir un bloque en forma independiente 2. Dispositivos

Más detalles

Introducción a los microcontroladores. Decanato de Postgrado Mayo de 2011

Introducción a los microcontroladores. Decanato de Postgrado Mayo de 2011 Introducción a los microcontroladores Decanato de Postgrado Mayo de 2011 Microcontroladores aaaaa Un microcontrolador (Micro Controller Unit, MCU), es un circuito integrado programable, construido con

Más detalles

Informática. JavaScript: Lenguaje de programación. Fco J. Martín Mateos Carmen Graciani

Informática. JavaScript: Lenguaje de programación. Fco J. Martín Mateos Carmen Graciani Informática JavaScript: Lenguaje de programación Fco J. Martín Mateos Carmen Graciani Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Literales Enteros Con base decimal:

Más detalles

Evolución del software y su situación actual

Evolución del software y su situación actual Evolución del software y su situación actual El software es el conjunto de programas que permite emplear la PC, es decir, es el medio de comunicación con la computadora, el control de sus funciones y su

Más detalles

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos PROGRAMACIÓN DE SHELL SCRIPTS EN LINUX El shell es un intérprete de órdenes, pero el shell no es solamente eso; los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como tales,

Más detalles

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO Control de Flujo Estructuras de Control Experiencia Educativa de Algorítmica 1 Introducción El estilo de como escribimos y analizamos un algoritmo se convierte en una de las principales características

Más detalles

Conceptos de Arquitectura de Computadoras Curso 2015

Conceptos de Arquitectura de Computadoras Curso 2015 PRACTICA 1 Assembly, Instrucciones, Programas, Subrutinas y Simulador MSX88 Objetivos: que el alumno Domine las instrucciones básicas del lenguaje assembly del MSX88. Utilice los diferentes modos de direccionamiento.

Más detalles

Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones.

Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones. Palabras reservadas de C++ y C Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones. A continuación se muestra el link del listado de palabras

Más detalles

Tema 01: Fundamentos del Análisis Asintótico de Algoritmos

Tema 01: Fundamentos del Análisis Asintótico de Algoritmos Tema 01: Fundamentos del Análisis Asintótico de Algoritmos Noviembre, 2003 CS0218: Algoritmos y Programación II Introducción En Ciencias de la Computación se presenta con frecuencia la situación de analizar

Más detalles

ARQUITECTURA INTERNA DEL µp8086

ARQUITECTURA INTERNA DEL µp8086 El µp 8086 es un dispositivo de 16 bits de datos y 20 bits de direcciones. Esta dividido en dos subprocesadores: EU (Unidad de Ejecución). Es la encargada de realizar todas las operaciones de control y

Más detalles

Fundamentos de Programación Visual Basic

Fundamentos de Programación Visual Basic Pág. N. 1 Fundamentos de Programación Visual Basic Familia: Editorial: Tecnología de información y computación Macro Autor: Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-236-3 N. de páginas: 280

Más detalles

UNIVERSIDAD DE GUADALAJARA

UNIVERSIDAD DE GUADALAJARA UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE LOS ALTOS DIVISIÓN DE ESTUDIOS EN FORMACIONES SOCIALES LICENCIATURA: INGENIERÍA EN COMPUTACIÓN UNIDAD DE APRENDIZAJE POR OBJETIVOS TALLER DE PROGRAMACIÓN

Más detalles

JavaScript: Lenguaje de programación

JavaScript: Lenguaje de programación Francisco J. Martín Mateos Carmen Graciani Diaz Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla Literales Enteros Con base decimal: 45, -43 Con base octal: 043, -054 Con

Más detalles

El lenguaje C. 1. Identificadores, constantes y variables

El lenguaje C. 1. Identificadores, constantes y variables Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria

Más detalles

Examen Teórico (1/3 de la nota final)

Examen Teórico (1/3 de la nota final) Examen Teórico (1/3 de la nota final) 105000016 - Programación para Sistemas Grado en Ingeniería Informática (2009) Lenguajes y Sistemas Informáticos e Ingeniería de Software Facultad de Informática Universidad

Más detalles

Programación de Sistemas Depuradores (Debugger) MIS. Lizbeth Hdz. Glz.

Programación de Sistemas Depuradores (Debugger) MIS. Lizbeth Hdz. Glz. Programación de Sistemas Depuradores (Debugger) MIS. Lizbeth Hdz. Glz. TIPOS DE ERRORES Sintácticos. Los errores de sintaxis, o sintácticos, ocurren cuando el programador escribe código que no va de acuerdo

Más detalles

Estructura de datos y Programación

Estructura de datos y Programación Estructura de datos y Programación Tema: Conceptos Básicos- Estructuras de control - Arreglos Ing. Analia Méndez Ing. Raquel Zarco Año: 2012 ELEMENTOS DE UN PROGRAMA EN JAVA El programa Java consta de

Más detalles

ENSAMBLADOR DE ARCHIVO TASM MASM NASM GAS. Características de un Ensamblador de Archivo

ENSAMBLADOR DE ARCHIVO TASM MASM NASM GAS. Características de un Ensamblador de Archivo ENSAMBLADOR DE ARCHIVO TASM MASM NASM GAS Características de un Ensamblador de Archivo Traduce de Leng Ensamblador a Lenguaje máquina Permite definición de etiquetas Reserva memoria para variables octales

Más detalles

Qué es un programa informático?

Qué es un programa informático? Qué es un programa informático? Un programa informático es una serie de comandos ejecutados por el equipo. Sin embargo, el equipo sólo es capaz de procesar elementos binarios, es decir, una serie de 0s

Más detalles

El Diseño de un Lenguaje Máquina

El Diseño de un Lenguaje Máquina Arquitectura de Ordenadores Juego de Instrucciones del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática El Diseño de un Lenguaje

Más detalles

Ejercicios Práctica 4 Primer Cuatrimestre de de abril de 2008

Ejercicios Práctica 4 Primer Cuatrimestre de de abril de 2008 Ejercicios Práctica 4 Primer Cuatrimestre de 2008 Departamento de Computación, FCEyN,Universidad de Buenos Aires. 8 de abril de 2008 Ejercicio 2 Considere el siguiente programa escrito en Assembler de

Más detalles

Repaso concepto de programa

Repaso concepto de programa Repaso concepto de programa ANTES se tenían sistemas cableados Datos Secuencia de funciones aritmético/lógicas Resultados Programación en hardware: cuando cambiamos las tareas, debemos cambiar el hardware

Más detalles

PROGRAMACION PARAMETRICA LENGUAJE DE ALTO NIVEL. MILTRONICS CNC MACHINES Control Centurion 7. Ing. Roberto Spicacci

PROGRAMACION PARAMETRICA LENGUAJE DE ALTO NIVEL. MILTRONICS CNC MACHINES Control Centurion 7. Ing. Roberto Spicacci PROGRAMACION PARAMETRICA LENGUAJE DE ALTO NIVEL MILTRONICS CNC MACHINES Control Centurion 7 Ing. Roberto Spicacci GENERALIDADES En la programación paramétrica se pueden utilizar ECUACIONES para definir

Más detalles

Introducción a la Programación en MATLAB

Introducción a la Programación en MATLAB Introducción a la Programación en MATLAB La programación en MATLAB se realiza básicamente sobre archivos M, o M-Files. Se los denomina de esta forma debido a su extensión.m. Estos archivos son simple archivos

Más detalles

Algoritmos y estructuras de datos

Algoritmos y estructuras de datos Algoritmos y estructuras de datos Memoria, apuntadores y arreglos Francisco Javier Zaragoza Martínez Universidad Autónoma Metropolitana Unidad Azcapotzalco Departamento de Sistemas 6 de mayo de 2015 Francisco

Más detalles

Unidad 5 Unidad central de proceso

Unidad 5 Unidad central de proceso Unidad 5 Unidad central de proceso Objetivo El objetivo de esta unidad es que el alumno logre: entender el funcionamiento básico de la Unidad Central de Proceso (UCP), definir las componentes básicas de

Más detalles

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28

Componentes Básicos. InCo. InCo Componentes Básicos 1 / 28 Componentes Básicos InCo InCo Componentes Básicos 1 / 28 Modelo de Computación Vemos al computador como un procesador de datos. +------------+ Entrada ===> Computador ===> Salida +------------+ InCo Componentes

Más detalles

Grupo de Arquitectura y Tecnología de Computadores (ARCOS)

Grupo de Arquitectura y Tecnología de Computadores (ARCOS) Grupo de Arquitectura y Tecnología de Computadores (ARCOS) http://arcos.inf.uc3m.es/~ec 2 http://arcos.inf.uc3m.es/~ec 4 http://arcos.inf.uc3m.es/~ec 5 http://arcos.inf.uc3m.es/~ec 6 Código fuente en

Más detalles

Capítulo 1: Conceptos básicos de informática

Capítulo 1: Conceptos básicos de informática 1 Qué es la informática? La informática es la ciencia que estudia el procesamiento automático de la información. Aunque la necesidad de razonar sobre este tipo de procesos existe desde tiempo atrás, la

Más detalles

Unidad 2. Introducción Lenguajes y Compiladores

Unidad 2. Introducción Lenguajes y Compiladores Unidad 2 Introducción Lenguajes y Compiladores Principal material bibliográfico utilizado Compiladores Principios, técnicas y herramientas. Aho y Ullman. Addison Wesley. www.jorgesanchez.net www.iqcelaya.itc.mx/~vicente/programacion/tradcomp.pdf

Más detalles

Introducción al Sistema Operativo Unix

Introducción al Sistema Operativo Unix Introducción al Sistema Operativo Unix Sistema Operativo Un sistema operativo es software que supervisa la forma en que se pueden usar los recursos de una computadora. En algunas computadoras el sistema

Más detalles

Práctica 3 - Arquitectura del CPU

Práctica 3 - Arquitectura del CPU Práctica 3 - Arquitectura del CPU Organización del Computador 1 Primer cuatrimestre de 2012 Ejercicio 1 A partir de cada uno de los siguientes vuelcos parciales de memoria y estados del procesador, realizar

Más detalles

Representación de la información

Representación de la información Laboratorio de Introducción a las Ciencias de la Computación Página 1 UNIERSIDAD CATÓLICA DE SANTA MARÍA PROGRAMA PROESIONAL DE INGENIERÍA DE SISTEMAS SESIÓN 2: Representación de la información OBJETIOS

Más detalles

JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante.

JavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante. Javascript (II) 1 Elementos Básicos: Comentarios: Para una línea // Esto es un Comentario Para un bloque /*......... */ Literales: Valores que puede tomar una variable o una constante. Ejemplos: "Soy una

Más detalles

Introducción. Visual Basic para Aplicaciones (VBA) en Excel: aspectos elementales

Introducción. Visual Basic para Aplicaciones (VBA) en Excel: aspectos elementales Introducción Visual Basic para Aplicaciones (VBA) en Excel: aspectos elementales Franco Guidi Polanco Escuela de Ingeniería Industrial Pontificia Universidad Católica de Valparaíso, Chile fguidi@ucv.cl

Más detalles

Dra. Jessica Andrea Carballido

Dra. Jessica Andrea Carballido Dra. Jessica Andrea Carballido jac@cs.uns.edu.ar Dpto. de Ciencias e Ingeniería de la Computación UNIVERSIDAD NACIONAL DEL SUR Procesamiento Entrada y salida de Secuencias Archivo secuencial: * Sucesión

Más detalles

1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento.

1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento. 1.1. Modelos de arquitecturas de cómputo: clásicas, segmentadas, de multiprocesamiento. Arquitecturas Clásicas. Estas arquitecturas se desarrollaron en las primeras computadoras electromecánicas y de tubos

Más detalles

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I

INSTITUTO NACIONAL SUPERIOR DEL PROFESORADO TÉCNICO - TÉCNICO SUPERIOR EN INFORMÁTICA APLICADA - PROGRAMACIÓN I RESOLUCIÓN DE PROBLEMAS Y ALGORITMOS La principal razón para que las personas aprendan lenguajes de programación es utilizar una computadora como una herramienta para la resolución de problemas. Cinco

Más detalles

Lenguaje de Programación: C++ ARCHIVOS I/O

Lenguaje de Programación: C++ ARCHIVOS I/O UG C++ Lenguaje de Programación: C++ ARCHIVOS I/O Universidad de Guanajuato Octubre 2010 Como abrir un archivo Antes de poder escribir datos en un archivo, debemos abrirlo, esto significa que debemos decirle

Más detalles