PARTE II: Programación en ensamblador
|
|
|
- Ángela Castilla Lucero
- hace 10 años
- Vistas:
Transcripción
1 Cuaderno de Prácticas Laboratorio de Fundamentos de Computadores PARTE II: Programación en ensamblador Facultad de Informática 1
2 EL PROGRAMA ENSAMBLADOR 1. Descripción El programa ensamblador es el programa que realiza la traducción de un programa escrito en ensamblador a lenguaje máquina. Esta traducción es directa e inmediata, ya que las instrucciones en ensamblador no son más que nemotécnicos de las instrucciones máquina que ejecuta directamente la CPU. 2. Estructura Un programa en ensamblador está compuesto por líneas, conteniendo cada una de ellas un comentario, una única instrucción o una directiva. En lo que sigue se utilizan los símbolos <> para encerrar un identificador o un número que el programador debe escribir; los símbolos [] encierran elementos opcionales; los símbolos {} encierran elementos que se puede escribir consecutivamente varias veces; el carácter separa elementos opcionales. 2.1 Comentarios Una línea con un asterisco (*) en la primera columna se interpretará como un comentario. Ej: * Esto son dos líneas de comentario porque el carácter * de la primera columna es un asterisco Un comentario también puede escribirse al final de la misma línea en que se escribe una instrucción. Ej: ADD D0,D1 Comentario sobre la instrucción ADD 2
3 2.2 Instrucciones [<etiq>] <Cód_ope>.<tamaño> <Fuente>,<Dest.> [<Coment.>] La etiqueta etiq es opcional; si existe debe empezar en la primera columna; si no existe debe haber por lo menos un espacio en blanco antes el código de operación. El comentario también es opcional. No todas las instrucciones tienen dos operandos. Las hay con uno solo, e incluso sin ningún operando. Ejemplos: Etiq1 MOVE.W D0,D1 Copiar el contenido de D0 en D1 ADD.W #3,D2 NEG.W D2 BEQ.S Etiq1 NOP 2.3 Directivas Controlan acciones auxiliares que realiza el programa ensamblador. No son traducibles a código máquina, sino que indican al ensamblador las preferencias del programador de cómo ha de efectuarse la traducción a lenguaje máquina. Ejemplo: Variable DS.B 1 Variable es la etiqueta, DS.B es la directiva y 1 es su argumento. 2.4 Control de ensamblado IDNT: Identificación del programa (Identification). Debe ser la primera línea (no comentario) del programa. Tiene dos argumentos: los números de la versión y la revisión del programa. Ej: Programa1 IDNT 1,0 ORG: Establece en qué posición de memoria absoluta se cargará el programa (ORiGin). Ej: 3
4 ORG $2000 END: Marca el final del programa. A partir de esta directiva se ignora el resto del archivo. Ej: END 2.5 Definición de símbolos <Símbolo> EQU <Valor> Sustituye <Símbolo> por <Valor> en el resto del programa (EQUal). 2.6 Definición y reserva de memoria <Símbolo> DC.<tamaño> <Valor>[{,Valor}] DC (Define Constant) reserva una o varias posiciones de memoria, cada una de tamaño <tamaño>, inicializándola con <Valor>. En el resto del programa podremos referirnos a esta posición de memoria por su <Símbolo>. <Símbolo> DS.<tamaño> <Cantidad> DS (Define Storage) reserva <Cantidad> posiciones de memoria de tamaño <tamaño>, sin asignarles ningún contenido inicial. En el resto del programa podremos referirnos a la posición inicial de este espacio de memoria por su <Símbolo>. 2.7 Bases de numeración Un número puede expresarse en diferentes bases de numeración, precediéndolo del carácter que indica la base: & (o nada) decimal 4
5 $ hexadecimal % octal '' cadenas ASCII Se recomienda trabajar siempre en hexadecimal, ya que esta es la base de numeración que emplea el simulador al mostrar las direcciones de memoria y el contenido de la memoria y de los registros. 3. Modelo de programa Todos los programas que se desarrollen en este laboratorio deben seguir el siguiente esquema: 1.- Directivas iniciales: identificación (IDNT) y especificación del origen absoluto del programa en la posición $2000 (ORG $2000). 2.- Bifurcación incondicional (JMP Inicio) al principio del programa, que se encuentra a continuación de la zona de datos. 3.- Declaración de símbolos EQU. 4.- Reserva de espacio de memoria para los datos del programa. (DC y DS) 5.- Instrucciones que componen el programa. 6.- Instrucción STOP #$2700, que causa que el simulador pare de simular. Esta instrucción debe ser alcanzable sea cual sea el flujo de ejecución del programa. 7.- Directiva END, que el ensamblador reconoce como el fin del código fuente. Se añadirán comentarios, tanto en líneas separadas como en aquellas instrucciones que se consideren necesario. Además se respetará el formato de sangrías del siguiente ejemplo: 5
6 ************************************************ * PRACTICA 0: Ejemplo * ************************************************ * Cálculos IDNT 1,1 ORG $2000 JMP Inicio * Valor1 EQU 7 * X DC.W Valor1 * Inicio MOVE.W X,D0 STOP #$2700 END 6
7 PRÁCTICA 0: Codificación y depuración de programas en ensamblador. El objetivo de esta primera práctica es la toma de contacto con las herramientas de ensamblado y simulación de programas ensamblador del Motorola 68000, que se utilizarán para la realización de las prácticas de que consta esta parte de la asignatura. El desarrollo de un programa se compone de las siguientes etapas: - Especificación del problema. - Diseño de un diagrama de flujo orientado al lenguaje objetivo (ensamblador del 68000). - Escritura del programa en lenguaje ensamblador (codificación). - Edición del programa fuente. - Ensamblado y enlace. - Simulación. - Depuración de errores. - Optimización. En esta primera práctica se aprenderán las nociones básicas necesarias para la realización de las cinco últimas fases, que son las más directamente relacionadas con el trabajo a efectuar en el laboratorio. En lo que sigue, utilizaremos un problema ejemplo sobre el que basaremos esta práctica. Este ejemplo consiste en la siguiente especificación: Dados dos números X e Y, calcular: 1.- su suma 2.- el mayor de ellos. Una especificación más formal del problema es la siguiente: Dados dos números naturales X e Y, se pide calcular los resultados Suma y Mayor: 7
8 Suma = X +Y Mayor = X,si X Y Y,si X < Y Como primera aproximación, realizaremos un diagrama de flujo de las operaciones, en donde detallamos los registros que necesitamos y la colocación espacial de los bloques. Debemos tener en cuenta que un programa en ensamblador no se compone únicamente de instrucciones que expresan de forma abstracta el algoritmo que implementa, sino que, al contrario de lo que ocurre en alto nivel, el programador necesita sopesar las distintas opciones que la arquitectura final ofrece: dónde y cómo almacenar variables, cómo manejar datos y control, etc. Inicio D0 X D1 Y D1 D0 + D1 Suma D1 D1 Y no D0 D1 sí Mayor D1 Mayor D0 Fin 8
9 Tras el diagrama de flujo en donde, como vemos, hemos reflejado las etiquetas, las variables intermedias, etc, editaremos el código sustituyendo las expresiones por instrucciones en ensamblador, resultando el siguiente listado, que corresponde al programa fuente: ************************************************ * PRACTICA 0: Cálculos * ************************************************ * Cálculos IDNT 1,1 Nombre del programa ORG $2000 Dirección de ubicación del * programa JMP Inicio Salta a la primera instrucción * * Constantes * Valor1 EQU 7 Valor inicial para X Valor2 EQU 25 Valor inicial para Y * * Variables * X DC.W Valor1 Número X Y DC.W Valor2 Número Y Suma DS.W 1 Primer resultado Mayor DS.W 1 Segundo resultado * * Programa principal * Inicio MOVE.W X,D0 Copia la var. X al registro D0 MOVE.W Y,D1 Copia la var. Y al registro D1 ADD.W D0,D1 Suma los registros D0 y D1 MOVE.W D1,Suma Almacena el resultado en Suma MOVE.W Y,D1 Vuelve a cargar Y en D1 CMP.W D1,D0 Compara los registros (D0-D1) BGE.S Then Salto si D0 es >= que D1 MOVE.W D1,Mayor Almacena D1 en la var. Mayor BRA.S Fin Salto al final del programa Then MOVE.W D0,Mayor Almacena D0 en Mayor * Fin STOP #$2700 Finaliza el programa END 9
10 Observemos en ese listado lo que serán las zonas que poseerá todo programa en ensamblador, zonas heredadas de las existentes en los programas de alto nivel. 1.-Información del programa: número de práctica, nombre, Una identificación del mismo: directiva IDNT. 3.- Especificación del lugar de carga del programa: directiva ORG. 4.- Salto incondicional a la primera instrucción que implementa el algoritmo. 5.- Zona de datos del programa, desglosada en declaración de constantes (directiva EQU) y en declaración de almacenamiento de variables (directivas DC y DS). 6.- Cuerpo del programa. 7.- Instrucción de fin de ejecución: STOP #$ Cuando existan subrutinas, zona de declaración de las mismas (en este programa tampoco aparecen). 9.- Fin de código fuente: directiva END. En las próximas secciones veremos cada uno de los puntos que hemos resaltado en el proceso del desarrollo de un programa. 1. Edición del programa fuente Para editar el programa fuente podríamos usar cualquier editor de texto convencional; en nuestro caso usaremos el que nos proporciona el sistema operativo MS-DOS: C:\> EDIT <programa>.sa Se indicará como argumento el nombre del fichero donde se va almacenar el texto del programa fuente que deberá terminar con la extensión.sa. Es un editor sencillo orientado a menús que permite el uso de ratón y con él seleccionar algunas órdenes simples tales como: cortar, pegar, copiar, buscar, abrir, cerrar, guardar, etc. En nuestro caso, escribiríamos por ejemplo EDIT P0.SA para escribir o editar el programa fuente. Una vez escrito, seleccionaremos del menú Archivo la opción Guardar y tras esta Salir, de este modo tendremos en disco almacenado nuestro programa en ensamblador. 10
11 2. Ensamblado y enlazado Una vez que disponemos de un fichero con el texto del programa fuente, deberemos traducirlo al formato que puede procesar la máquina. Para ello invocaremos al programa ensamblador-enlazador mediante la orden: C:\> ens <programa> Indicando únicamente el nombre del programa sin ninguna extensión, como por ejemplo ens P0. Durante este proceso el programa ensamblador genera varios archivos. Uno de ellos es el listado de ensamblado, un fichero de igual nombre que nuestro programa y extensión.prn, que contiene información sobre la ubicación de los errores sintácticos que posee nuestro código fuente. El contenido de este fichero, que puede mostrarse en pantalla o editarse, es puramente informativo: la corrección de los errores indicados debe hacerse editando el programa original, no en el listado de ensamblado. Otro de los archivos generados es un fichero de extensión.hex que contiene las instrucciones máquina en un formato especial de la casa Motorola formado por caracteres hexadecimales, denominado S-Record. En nuestro caso escribiríamos: C:\> ens P0 Si hubiésemos cometido el error de escribir OGR en lugar de la directiva ORG, habríamos obtenido un error del que nos informa el ensamblador: >>> ERROR line[13] Invalid opcode [13] P0.SA 13. OGR $2000 Este error lo podemos observar también en el archivo P0.PRN. En este archivo aparecen a la derecha las direcciones en hexadecimal de cada una de las instrucciones y su codificación hexadecimal, así como las variables del programa y su contenido en hexadecimal. Supongamos que se ha arreglado el error anterior y examinamos el siguiente fragmento del archivo P0.PRN: 11
12 Dirección Contenido Número de línea EF E 8. JMP Inicio Salta a la primera instruccion 9. * 10. * Constantes 11. * # Valor1 EQU 7 Valor inicial para X # Valor2 EQU 25 Valor inicial para Y 14. * 15. * Variables 16. * X DC.W Valor1 Numero X Y DC.W Valor2 Numero Y A <2> 19. Suma DS.W 1 Primer resultado C <2> 20. Mayor DS.W 1 Segundo resultado 21. * 22. * Programa principal 23. * E Inicio MOVE.W X,D0 Copiar la variable X al registro D0 Podemos ver que el programa empieza en la dirección (2000 hexadecimal), en donde se produce el salto a Inicio. A esta instrucción de salto le corresponde la codificación 4EF9 y la dirección a la que se salta será E, que coincide con la dirección de la instrucción etiquetada como Inicio. Por otra parte, podemos ver que la variable X (inicializada a Valor1) está en la dirección 2006, y que su contenido es 0007 en hexadecimal, que en decimal es 7. Este es el valor definido previamente para la constante Valor1, como podemos observar en el programa. 3. Simulación Una vez ensamblado el programa, podemos proceder a su simulación. Arrancamos el programa simulador SIM68K mediante la orden: C:\> simu Inmediatamente aparecerá el indicativo del programa: sim68k A partir de este momento, el simulador está listo para recibir órdenes e interpretarlas. Las órdenes se escriben directamente en respuesta al indicativo y constan de dos letras identificadoras y algunos argumentos. 12
13 En cualquier momento pueden mostrarse en pantalla la lista de órdenes disponible pulsando Intro. Sin embargo, por el momento, no los usaremos todos, tan sólo los más interesantes que nos permitirán realizar las siguientes acciones: - Reiniciar el procesador. - Cargar en memoria las instrucciones y datos de un programa. - Ver y/o modificar el contenido de una posición de memoria dada. - Desensamblar el contenido de la memoria. - Ver y/o modificar el contenido de los registros del procesador. - Ejecutar las instrucciones contenidas en memoria. - Depurar los programas usando puntos de ruptura y ejecución paso a paso. Cuando se entra en el simulador, éste se comporta exactamente como una CPU M68000, tal como la ve el programador, con el espacio de direccionamiento completo totalmente accesible, es decir, como si realmente tuviese 16 Mbytes de memoria RAM, ya inicializado y listo para comenzar a trabajar Inicialización del procesador Como cualquier circuito secuencial, para que el procesador funcione con corrección debemos inicialmente llevarlo al primer estado. Eso se consigue con la orden: sim68k re Que inicializa la CPU antes de ejecutar cualquier programa. También usaremos el mismo siempre que queramos que una nueva ejecución no dependa del estado previo del procesador Carga del programa Tras inicializar el procesador, lo primero que debemos hacer es cargar en la memoria el programa que deseamos ejecutar, para ello usaremos la orden: sim68k lo <nombre> No es necesario especificar la extensión. Una vez finalizada la orden, las instrucciones y los datos del usuario especificados en el programa fuente seleccionado se han cargado en las posiciones de memoria correspondientes, esta 13
14 carga se hará a partir de la posición indicada por la directiva ORG contenida en dicho programa. Por tanto, tras esta orden, el programa se halla listo para su ejecución. En nuestro ejemplo se reduce a escribir lo p0. A partir de este punto se darán los fundamentos del manejo del simulador para que se puedan aplicar en el aprendizaje con el programa de ejemplo. Se trata, pues, de que cada uno practique con el simulador examinando y alterando posiciones de memoria y registros, y ejecutando el programa completo y realizando la depuración paso a paso. La práctica a partir de este punto se centra en aplicar la teoría que se presenta a continuación en el programa de ejemplo Visualización y modificación de la memoria Podemos comprobar que el programa ha sido cargado correctamente en memoria examinando el contenido de la misma. La orden que permite visualizar la memoria entre dos posiciones dadas es: sim68k dm <dirección_inicial> [<dirección_final>] La orden visualiza siempre como mínimo grupos de 16 bytes, a partir de la dirección inicial, en el formato siguiente: 8 A C E C C40 000F 6E0E 3E00 CEFC <[email protected].>... La primera columna muestra la dirección donde comienza el volcado de memoria, las siguientes 8 columnas indican los contenidos, en hexadecimal, de las siguientes 16 posiciones, y la última muestra el valor ASCII de esos contenidos. En caso de no especificar la dirección final, mostrará de manera predeterminada 256 bytes. También existe una orden que permite visualizar el contenido de la memoria en forma simbólica, es decir, interpretándolo como instrucciones. Este proceso se llama desensamblado y podemos invocarlo con la orden: sim68k di <dirección_inicial> [<dirección_final>] 14
15 Debemos hacer notar que el simulador no conoce si lo que está mostrando son datos o instrucciones, así que el usuario deberá interpretar lo que vea, para decidir si tiene sentido o no. Por ejemplo, la orden mostrará las anteriores posiciones de memoria, de la forma: C 0001 MOVE.W #$0001,D C 0C40 000F CMPI.W #$000F,D E0E BGT $ E00 MOVE.W D0,D CEAC 0002 ADD.W #$00002,D7 La primera columna muestra las direcciones donde comienza el desensamblado, la segunda el contenido hexadecimal y la tercera la posible instrucción simbólica. Pero el simulador no sólo permite visualizar la memoria, sino también modificarla, usando la orden: sim68k em <dirección> Cuando se emplea esta orden, el simulador entra en un modo de edición, que permite modificar la memoria byte a byte a partir de la posición especificada. Como respuesta a esta orden, nos mostrará el contenido de dicha posición: A quedando a la espera de lo que le indique el usuario, éste entonces podrá elegir entre: - Volver al modo normal, saliendo del modo de edición de la memoria, pulsando Intro (no se modifica nada). - Modificar el contenido en esa dirección, escribiendo el nuevo valor a almacenar (dos dígitos hexadecimales). A continuación se pasará a editar el siguiente byte de la memoria. - Pasar a editar el contenido del siguiente byte sin modificar el actual, pulsando ".". - Pasar a editar el contenido del byte precedente sin modificar el actual, pulsando "^" (y a continuación la barra espaciadora, debido a que el teclado que utilizamos está configurado en español, y la tecla "^" funciona de manera especial). 15
16 Esta orden será útil para introducir directamente en memoria nuevos valores de los datos de entrada sin necesidad de modificar el programa fuente. Así podremos comprobar rápidamente el comportamiento del programa para conjuntos diferentes de datos Visualización y modificación de registros La orden: sim68k dr visualiza los valores, en hexadecimal, de todos los registros del procesador, incluyendo aquellos de propósito particular: el PC (contador de programa) que fija la siguiente instrucción a ejecutar y el SR (registro de estado) en donde se indica individualmente el estado de cada uno de los códigos de condición.. Si lo que deseamos es modificar el valor de uno de cualquiera de los registros, bastará ejecutar la orden: sim68k sr <nombre_registro> <nuevo_valor> donde el nombre del registro es su nombre convencional (D1, A3, PC...) Ejecución del programa La primera instrucción de nuestros programas se encontrará siempre en la posición $2000, debido a la directiva ORG $2000, que incluiremos al principio de todos nuestros programas. Por lo tanto, el primer pasa para ejecutar (en este caso, simular) nuestro programa, es poner el valor $2000 en el contador de programa PC (registro que apunta a la dirección de memoria donde se encuentra la próxima instrucción a ejecutar): sim68k sr pc 2000 A continuación, diremos al simulador que empiece la ejecución mediante la orden: sim68k ex [<numero_instrucciones>] 16
17 El programa se ejecutará comenzando por la instrucción señalada por el PC, hasta que o bien haya completado el número de instrucciones especificadas, o encuentre un punto de ruptura, o encuentre una instrucción STOP. En cualquier caso la ejecución se detendrá y se presentará la próxima instrucción a ejecutar y el contenido de los registros del procesador. Para continuar la ejecución bastará ejecutar nuevamente la misma orden Ejecución paso a paso (traza de un programa) La traza permite ejecutar una única instrucción, visualizar el contenido de los registros después de la ejecución, y elegir entre continuar con la siguiente o devolver el control al simulador. En este último caso podemos examinar, si lo deseamos, el contenido de la memoria y después volver a invocar a cualquier orden, incluido una nueva traza. Este tipo de ejecución permite examinar cuidadosamente el funcionamiento de las zonas más críticas de un programa y se invoca con la orden: sim68k ss <dirección_comienzo> 3.7. Puntos de ruptura Un punto de ruptura (o breakpoint), es una marca que se coloca sobre una o varias instrucciones de un programa, de forma que la simulación se detiene inmediatamente antes de la misma. De esta forma, colocando un punto de ruptura en una zona conflictiva del programa, será posible detener su ejecución y examinar el contenido de la memoria y/o de los registros, para intentar detectar un posible error. Después podrá continuar normalmente la ejecución. El simulador permite localizar cuatro puntos de ruptura, es decir, podemos definir cuatro puntos distintos, numerados del 1 al 4, asociándoles direcciones de memoria que serán recordadas por el simulador hasta que termine la sesión. Para asociar un punto de ruptura con una dirección usaremos la orden: sim68k bk <numero_breakpoint> <dirección_memoria> Si especificamos como dirección la 0, se borrará el punto de ruptura asociado al número correspondiente; si se omiten ambos argumentos, se mostrarán por pantalla las direcciones asociadas a todos los puntos de ruptura activos. 17
18 Es importante destacar que al asociar un punto de ruptura a una dirección de memoria, no modifica para nada el contenido de esa dirección, así mismo un punto de ruptura no es ninguna instrucción especial, simplemente es un vigía puesto por el simulador a petición del usuario. Después de la parada podremos examinar el contenido de la memoria o los registros para ver si se han producido los cambios esperados y continuar la ejecución en el punto en que se había detenido. 4. Técnicas de depuración Una vez cargado en memoria el programa, en primer lugar hay que probarlo. Para ello se ejecutará el programa, y se comprobará si el funcionamiento es el correcto. En algunos casos esta comprobación resultará evidente, mientras que en otros será preciso examinar el contenido de la memoria o de determinados registros antes y después de la ejecución. En la mayoría de los casos el funcionamiento del programa no será el esperado. En tal caso se deberá buscar en la estructura del programa los puntos claves (aquellos más propensos al error) y con la ayuda de un listado del ensamblado, ir colocando con buen criterio puntos de ruptura, los cuales nos permitirán examinar los resultados parciales producidos por el programa y a partir de ellos ejecutar algunas instrucciones paso a paso si es preciso. De esta forma se va avanzando, hasta el punto en donde los resultados se desvían de lo esperado. En ocasiones puede suceder que el programa no se detenga en el punto de ruptura indicado, aunque debiera pasar por él. La causa de este problema es que el error afecta al flujo del programa (probablemente a alguna bifurcación condicional). En este caso deberán examinarse cuidadosamente las bifurcaciones problemáticas, y revisar las instrucciones que activan los códigos de condición sobre los que se produce la bifurcación. 18
19 5. Ejercicios a realizar Sobre el programa de ejemplo se deben hacer los siguientes ejercicios: 1) Realizar los pasos de edición del programa fuente de ejemplo, su ensamblado y su corrección si hay errores. 2) Con el simulador hacer el reset del procesador seguido de la carga del programa en memoria. 3) Ver el programa en memoria con la opción de la visualización en forma simbólica. Identificar la correspondencia entre lo que se visualiza de esta forma y el programa fuente que se ha escrito, es decir, identificar la dirección de comienzo, las direcciones y contenidos de las variables y las instrucciones. 4) Ejecutar el programa e inspeccionar el nuevo contenido de las variables Suma y Mayor. Comprobar que almacenan el resultado correcto. 5) Ejecutar el programa de nuevo paso a paso. Comprobar cada alteración que se produzca en los registros o en memoria con las órdenes adecuadas del simulador. 6) Modificar en la memoria (no en el programa fuente sino con las instrucciones del simulador) las posiciones de memoria correspondientes a las variables X e Y de manera que contengan los números 20 y 10 respectivamente. Ejecutar de nuevo el programa y comprobar que el resultado es correcto. 7) Situar un punto de ruptura en la instrucción MOVE.W Y, D1. Ejecutar el programa y alterar la posición de memoria correspondiente a la variable Y para que contenga el número 30. Reanudar la ejecución y observar los resultados de las variables Suma y Mayor. 19
20 PRACTICA 1: Programa Simple. Estructuras de control. OBJETIVO: Desarrollar un programa simple en ensamblador y verificar su corrección mediante la simulación. ESPECIFICACIONES: Realizar un programa que multiplique dos números naturales de longitud WORD usando la instrucción de suma (ADD) en lugar de la instrucción de multiplicación que nos ofrece el repertorio del M El algoritmo es sencillo y puede expresarse brevemente en pseudo-pascal de la siguiente manera: PROGRAM Mult; CONST Val1 = 35; Val2 = 58; VAR Mult1, Mult2 : WORD; Resul : DOUBLE WORD; BEGIN Mult1 := Val1; Mult2 := Val2; Resul := 0; WHILE Mult1 > 0 DO BEGIN Resul := Resul+Mult2; Mult1 := Mult1-1; END; END. 20
21 El diagrama de flujo asociado a este programa sería el siguiente: Inicio D0 Val1 D1 Val2 D2 0 NO D0 > 0 SI Resul D2 D2 D2 + D1 D0 D0-1 Fin 21
22 PRACTICA 2: Datos compuestos: vectores. Estructuras de control I. OBJETIVO: Estudiar nuevos modos de direccionamiento y estructuras de control. ESPECIFICACIÓN: Parte A: Realizar un programa que sume dos vectores y deposite el resultado en un tercer vector, utilizando la estructura de control "bucle FOR" y el método de direccionamiento indirecto con registro de direcciones con postincremento. Parte B: Realizar un programa que genere un vector resultado de invertir el orden de las componentes de otro dado. Implementación: Las componentes de los vectores sumando deben ser Byte. Las componentes del vector resultado deben ser Word. Hay que realizar extensiones de signo para asegurar operaciones correctas asumiendo que se trabaja con números enteros codificados en complemento a 2. 22
23 PRACTICA 3: Datos compuestos: vectores. Estructuras de control II. OBJETIVO: Afianzar los conocimientos de evaluación de condiciones, estructuras de control y direccionamiento de vectores. ESPECIFICACIÓN: Diseñar un programa que calcule el máximo común divisor de dos números por el algoritmo de Euclides. ALGORITMO: (en pseudo-pascal) PROGRAM Mcd; CONST A := 51; B := 595; VAR Num1, Num2, Resul : NATURAL.W; BEGIN Num1 := A; Num2 := B; IF Num1 > 0 AND Num2 > 0 THEN BEGIN WHILE Num1 <> Num2 DO IF Num1 > Num2 THEN Num1 := Num1-Num2 Resul := Num1 END ELSE Resul := 0; END. ELSE Num2 := Num2-Num1; El diagrama de flujo asociado a este programa sería el siguiente: 23
24 Inicio D0 A D1 B D2 0 NO D0 > 0 SI NO D1 > 0 SI D0 < > D1 NO SI D2 D0 SI NO D0 > D1 NO D0 D0-D1 D1 D1-D0 Resul D2 Fin 24
25 PRACTICA 4: Datos compuestos: matrices. OBJETIVO: Tratamiento de vectores multidimensionales con el modo de direccionamiento indirecto con desplazamiento e índice. ESPECIFICACIÓN: Diseñar, implementar y verificar un programa en ensamblador que realice la multiplicación de dos matrices cuadradas de tamaño N x N. ALGORITMO: (en pseudo-pascal) PROGRAM Mult_matrices; CONST N = 3; VAR B, C : ARRAY [0..N-1,0..N-1] OF WORD; A : ARRAY [0..N-1,0..N-1] OF LONG WORD; BEGIN FOR I := 0 TO N-1 DO FOR J := 0 TO N-1 DO BEGIN S := 0; FOR K := 0 TO N-1 DO S := S + B[I,K]*C[K,J]; A[I,J] := S END; END. 25
26 Inicio D0 0 NO D0 N-1 SI D1 0 D0 D0 +1 SI D1 N-1 NO D1 D1+1 D2 0 D3 0 NO D2 N-1 SI A(D0,D1) D3 D3 D3 + B(D0,D2)*C(D2,D1) Fin 26
27 APÉNDICE 1 Modelo de programación 1.1 Modelo de memoria - Espacio de direccionamiento lineal. - Espacio de direcciones de 16 Mb (direcciones de 24 bits). - Direccionamiento a: * bytes (8 bits) Dirección N Contenido Byte * palabras (16 bits) Dirección N N + 1 Contenido Byte más significativo (MSB) Byte menos significativo (LSB) Notas: N dirección par. MSB: Most Significant Byte. LSB: Least Significant Byte. * dobles palabras (32 bits) Dirección Contenido N N + 2 Palabra más significativa (MSW) Palabra menos significativa (LSW) Notas: N dirección par. MSW: Most Significant Word. LSW: Least Significant Word. Laboratorio de Fundamentos de computadores Apéndice 1
28 1.2 Modelo de registros - 16 registros programables: * Ocho registros de datos de 32 bits (4 bytes). D0, D1, D2, D3, D4, D5, D6 y D7. Acceso al registro Di (0 =< i =< 7): Di.L Se accede a los cuatro bytes del registro (doble palabra, esto es, bits 31 al 0). Di.W Se accede a los dos bytes menos significativos (palabra menos significativa, esto es, bits del 15 al 0). Di.B Se accede al byte menos significativo (bits 7 al 0). 8 registros de direcciones de 32 bits (4 bytes). A0, A1, A2, A3, A4, A5, A6 y A7. Acceso al registro Ai (0 =< i =< 7): Ai.L Se accede a los cuatro bytes del registro (pero sólo a los bits del 0 al 23). Ai.W Se accede a los dos bytes menos significativos (palabra menos significativa, esto es, bits del 15 al 0). No se permite el acceso al byte menos significativo (bits 7 al 0). Nota: A7 es el puntero de pila, también denominado SP. - Registro no programable: * Registro de estado de 16 bits llamado SR. Laboratorio de Fundamentos de computadores Apéndice 2
29 Byte del sistema Registro de estado (CCR) N Z C C: Acarreo Z: Cero N: Negativo 2 Modos de direccionamiento básicos 2.1 Inmediato El valor del operando se incluye en la instrucción. Ej: MOVE.B #5,D0 Almacena el número 5 en el registro D0 2.2 Registro directo El operando es un registro. El valor es el contenido en el registro. Ej: MOVE.B D1,D0 Copia el contenido de D1 en D0 2.3 Absoluto El operando está en memoria. El valor es el contenido de la dirección de memoriaqueseincluyeenlainstrucción. Ej: X DC.L MOVE.L X,D1 Almacena el contenido de la dirección X (que representa a la variable inicializada con el valor 543) en el registro D1. Laboratorio de Fundamentos de computadores Apéndice 3
30 3 Instrucciones básicas 3.1 Copia de datos MOVE.z <fuente>, <destino> z ::= B W L (byte, palabra o doble palabra) fuente -> destino 3.2 Aritmética de enteros Adición (ADDition) ADD.z <operando1>,<operando2> operando2 <- operando1 + operando2 Substracción (SUBtraction) SUB.z <operando1>,<operando2> operando2 <- operando2 - operando1 Puesta a cero (Clear) CLR.z <operando> operando <- 0 Complemento a dos (NEGation) NEG.z <operando> operando <- 0 - operando Extensión designo(extension) EXT.z <operando> operando <- operando con signo extendido 3.3 Comparación (CoMParison) Laboratorio de Fundamentos de computadores Apéndice 4
31 CMP.z <operando1>,<operando2> operando2 - operando1, alterando sólo los códigos de condición 3.4 Bifurcaciones Saltos incondicionales 1: BRanch Always BRA.S <desplazamiento> PC <- PC + desplazamiento 2: JuMP JMP <dirección> PC <- dirección Salto si igual (Branch if Equal) BEQ.S <desplazamiento> Si Z = 1 entonces PC <- PC + desplazamiento Salto si distinto (Branch if Not Equal) BNE.S <desplazamiento> Si Z = 0 entonces PC <- PC + desplazamiento Salto si mayor (Branch if Greater Than) BGT.S <desplazamiento> Si N = 0 y Z = 0 entonces PC <- PC + desplazamiento Salto si menor o igual (Branch if Less or Equal than) BLE.S <desplazamiento> Si N = 1 o Z = 1 entonces PC <- PC + desplazamiento Laboratorio de Fundamentos de computadores Apéndice 5
32 Salto si mayor o igual (Branch if Greater or Equal than) BGE.S <desplazamiento> Si N = 0 entonces PC <- PC + desplazamiento Salto si menor (Branch if Less Than) BLT.S <desplazamiento> Si N = 1 entonces PC <- PC + desplazamiento Notas: - En la conjugación de la instrucción de comparación y de salto condicional se debe observar que cuando se comparan dos números, el orden de comparación es de derecha a izquierda. Considerando que D0 contiene el número7enelsiguienteejemplo: CMP.B BGT.S #5,D0 Etiqueta la condición que se comprueba en la instrucción BGT (salto si mayor) se cumple puesto que el segundo operando (7, el contenido de Do) es mayor que el primer operando (5). - En las instrucciones de salto normalmente no se especificará un desplazamiento numérico, sino una etiqueta simbólica que aparecerá identificando una instrucción del programa. El ensamblador sustituirá automáticamente esta etiqueta por el desplazamiento numérico adecuado. 3.5 Otras NOP Sin operación (No Operation) STOP #$2700 Laboratorio de Fundamentos de computadores Apéndice 6
33 Detener la ejecución. No hay que olvidar escribirlo exactamente como se indica, con la almohadilla y el símbolo del dólar. Por el contrario, cuando se escribe ORG, no hay que escribir el símbolo del dólar para especificar la base de numeración de la dirección, que de manera predeterminada se entiende como hexadecimal. Laboratorio de Fundamentos de computadores Apéndice 7
PARTE II: Programación en ensamblador
Cuaderno de Prácticas Laboratorio de Fundamentos de Computadores PARTE II: Programación en ensamblador Autor: Rafael Moreno Vozmediano Facultad de Informática La Máquina Rudimentaria: Arquitectura del
GENERACIÓN DE ANTICIPOS DE CRÉDITO
GENERACIÓN DE ANTICIPOS DE CRÉDITO 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de anticipos de crédito permite generar fácilmente órdenes para que la Caja anticipe el cobro de créditos
Capítulo 9. Archivos de sintaxis
Capítulo 9 Archivos de sintaxis El SPSS permite generar y editar archivos de texto con sintaxis SPSS, es decir, archivos de texto con instrucciones de programación en un lenguaje propio del SPSS. Esta
TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS
TEMA 2 WINDOWS XP Lección 4 BLOC DE NOTAS 1) EL PEQUEÑO EDITOR El Bloc de notas de Windows XP es un básico editor de texto con el que podemos escribir anotaciones, de hasta 1024 caracteres por línea y
10. El entorno de publicación web (Publiweb)
10. El entorno de publicación web (Publiweb) 10.1. Introducción El entorno de publicación Web es una herramienta que permite la gestión de nuestras páginas Web de una forma visual. Algunos ejemplos de
!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!
INFORMÁTICA Práctica4. ProgramaciónbásicaenC. GradoenIngenieríaenElectrónicayAutomáticaIndustrial Curso2015H2016 v2.1(18.09.2015) A continuación figuran una serie de ejercicios propuestos, agrupados por
Centro de Capacitación en Informática
Fórmulas y Funciones Las fórmulas constituyen el núcleo de cualquier hoja de cálculo, y por tanto de Excel. Mediante fórmulas, se llevan a cabo todos los cálculos que se necesitan en una hoja de cálculo.
LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL
OBJETIVO Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formulas en Microsoft Excel 2010. 1) DEFINICIÓN Una fórmula de Excel es un código especial que introducimos
La ventana de Microsoft Excel
Actividad N 1 Conceptos básicos de Planilla de Cálculo La ventana del Microsoft Excel y sus partes. Movimiento del cursor. Tipos de datos. Metodología de trabajo con planillas. La ventana de Microsoft
Sistemas de numeración
Sistemas de numeración Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. Los sistemas de numeración actuales son sistemas posicionales, que se caracterizan
Operación de Microsoft Word
Generalidades y conceptos Combinar correspondencia Word, a través de la herramienta combinar correspondencia, permite combinar un documento el que puede ser una carta con el texto que se pretende hacer
2_trabajar con calc I
Al igual que en las Tablas vistas en el procesador de texto, la interseccción de una columna y una fila se denomina Celda. Dentro de una celda, podemos encontrar diferentes tipos de datos: textos, números,
INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso 2013-2014. v1.0 (05.03.
INFORMÁTICA Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial Curso 2013-2014 v1.0 (05.03.14) A continuación figuran una serie de ejercicios propuestos, agrupados
Sistemas de Numeración Operaciones - Códigos
Sistemas de Numeración Operaciones - Códigos Tema 2 1. Sistema decimal 2. Sistema binario 3. Sistema hexadecimal 4. Sistema octal 5. Conversión decimal binario 6. Aritmética binaria 7. Complemento a la
Fundamentos de Informática. Primer Curso de Ingenieros Químicos. Práctica 1. Dev C++ Compilador de C para Windows
Práctica 1 Dev C++ Compilador de C para Windows 1. Desarrollo de la práctica Posiblemente, el mejor modo de aprender estas nociones, es comenzar con la escritura de un primer programa en Dev-C++, tal como
TEMA 2: Representación de la Información en las computadoras
TEMA 2: Representación de la Información en las computadoras Introducción Una computadora es una máquina que procesa información y ejecuta programas. Para que la computadora ejecute un programa, es necesario
Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)
Unidad I Sistemas numéricos 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal) Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS.
Apuntes de ACCESS. Apuntes de Access. Campos de Búsqueda:
Apuntes de ACCESS Campos de Búsqueda: Los campos de búsqueda permiten seleccionar el valor de un campo de una lista desplegable en lugar de tener que escribirlos. El usuario sólo tiene que elegir un valor
Anexo B. Comunicaciones entre mc y PC
Anexo B Comunicaciones entre mc y PC En este apartado se hará hincapié en los comandos para el manejo del módulo de comunicaciones desde el PC. Conociendo estos comando se podrá realizar una aplicación
Creación de Funciones de Conducción
Creación de Funciones de Conducción Requerimientos Para el desarrollo de esta actividad se requiere que: Contemos con un robot BoeBot armado con placa Arduino. Repetición En estos momentos habremos notado
GENERACIÓN DE TRANSFERENCIAS
GENERACIÓN DE TRANSFERENCIAS 1 INFORMACIÓN BÁSICA La aplicación de generación de ficheros de transferencias permite generar fácilmente órdenes para que la Caja efectúe transferencias, creando una base
Ejemplos de conversión de reales a enteros
Ejemplos de conversión de reales a enteros Con el siguiente programa se pueden apreciar las diferencias entre las cuatro funciones para convertir de reales a enteros: program convertir_real_a_entero print
Comentario sobre el entorno de desarrollo Microsoft Visual Studio 2005 Juan Manuel Lucas
Comentario sobre el entorno de desarrollo Microsoft Visual Studio 2005 Juan Manuel Lucas Introducción El entorno de desarrollo Visual Studio 2005 o 2008 es una potente herramienta desarrollada por Microsoft
1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0 1 0 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1
5.1.3 Multiplicación de números enteros. El algoritmo de la multiplicación tal y como se realizaría manualmente con operandos positivos de cuatro bits es el siguiente: 1 1 0 1 x 1 0 1 1 1 1 0 1 + 1 1 0
Uso de Visual C++ Pre-Practica No. 3
Pre-Practica No. 3 Uso de Visual C++ Microsoft Visual C++ 2010 es una versión de Visual Studio específica para el lenguaje de programación C++. Es un entorno de desarrollo muy completo y profesional. Por
UNIDAD I PROCESADOR DE TEXTOS
UNIDAD I PROCESADOR DE TEXTOS 1. Entorno de Microsoft Word 2007 Lic. Silvia Mireya Hernández Hermosillo 1.1 INTRODUCCIÓN 1.1.1 Generalidades de Microsoft Word 2007 Microsoft Word 2007 es un procesador
UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3
UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3 INTRODUCCIÓN El elemento hardware de un sistema básico de proceso de datos se puede estructurar en tres partes claramente diferenciadas en cuanto a sus funciones:
SISTEMAS DE NUMERACIÓN. Sistema de numeración decimal: 5 10 2 2 10 1 8 10 0 =528 8 10 3 2 10 2 4 10 1 5 10 0 9 10 1 7 10 2 =8245,97
SISTEMAS DE NUMERACIÓN Un sistema de numeración es un conjunto de símbolos y reglas que permiten representar datos numéricos. La norma principal en un sistema de numeración posicional es que un mismo símbolo
Los sistemas de numeración se clasifican en: posicionales y no posicionales.
SISTEMAS NUMERICOS Un sistema numérico es un conjunto de números que se relacionan para expresar la relación existente entre la cantidad y la unidad. Debido a que un número es un símbolo, podemos encontrar
Gestión de Retales WhitePaper Noviembre de 2009
Gestión de Retales WhitePaper Noviembre de 2009 Contenidos 1. Introducción 3 2. Almacén de retales 4 3. Propiedades de los materiales 6 4. Alta de retales 8 5. Utilización de retales en un lote de producción
5.4. Manual de usuario
5.4. Manual de usuario En esta sección se procederá a explicar cada una de las posibles acciones que puede realizar un usuario, de forma que pueda utilizar todas las funcionalidades del simulador, sin
GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD
GESTIÓN DOCUMENTAL PARA EL SISTEMA DE CALIDAD Manual de usuario 1 - ÍNDICE 1 - ÍNDICE... 2 2 - INTRODUCCIÓN... 3 3 - SELECCIÓN CARPETA TRABAJO... 4 3.1 CÓMO CAMBIAR DE EMPRESA O DE CARPETA DE TRABAJO?...
Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: 93.410.92.92 Fax.: 93.419.86.49 e-mail:atcliente@websie.
Adaptación al NPGC Introducción Nexus 620, ya recoge el Nuevo Plan General Contable, que entrará en vigor el 1 de Enero de 2008. Este documento mostrará que debemos hacer a partir de esa fecha, según nuestra
Modulo 1 El lenguaje Java
Modulo 1 El lenguaje Java 13 - Codificación en Java Una de las grandes diferencias entre Java y Pascal en cuando a la codificación es que Java se trata de un lenguaje de los llamados case sensitive Esto
Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte)
Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte) Unidad de trabajo 2: INFORMÁTICA BÁSICA... 1 1. Representación interna de datos.... 1 1.2. Sistemas de numeración.... 2 1.3. Aritmética binaria...
Operación Microsoft Access 97
Trabajar con Controles Características de los controles Un control es un objeto gráfico, como por ejemplo un cuadro de texto, un botón de comando o un rectángulo que se coloca en un formulario o informe
Sistema de Gestión Portuaria Sistema de Gestión Portuaria Uso General del Sistema
Sistema de Gestión Portuaria Uso General del Sistema Uso General del Sistema Página 1 de 21 Contenido Contenido... 2 1.Ingreso al Sistema... 3 2.Uso del Menú... 6 3.Visualizar Novedades del Sistema...
ESCUELA SUPERIOR DE INFORMATICA Prácticas de Estadística UNA SESIÓN EN SPSS
UNA SESIÓN EN SPSS INTRODUCCIÓN. SPSS (Statistical Product and Service Solutions) es un paquete estadístico orientado, en principio, al ámbito de aplicación de las Ciencias sociales, es uno de las herramientas
ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas.
ESTÁNDAR DESEMPEÑO BÁSICO Recopila información, la organiza y la procesa de forma adecuada, utilizando herramientas tecnológicas. Sala de sistemas, Video proyector, Guías RECURSOS ACTIVIDADES PEDAGÓGICAS
6-REGISTROS DEL 8086 Y DEL 80286
ESTRUCTURA DE COMPUTADORES I (Capítulo 6: Los registros del microprocesador 8086) 1/7 6-REGISTROS DEL 8086 Y DEL 80286 6.1 INTRODUCCIÓN: Dentro del procesador existen unos contenedores especiales de 16
SOLUCIÓN CASO GESTIÓN DE COMPRAS
SOLUCIÓN CASO GESTIÓN DE COMPRAS Comenzamos por abrir un libro de trabajo y lo guardaremos con el nombre Compras. 1) En primer lugar resolveremos el primer apartado en la hoja 1 del libro de trabajo procediendo
Manual de Procedimiento
Manual de Procedimiento INSTALACION DEL PROGRAMA Este manual pretende ser una ayuda para el usuario, indicando cada uno de los pasos a seguir en su utilización. REQUERIMIENTOS: 1. Windows 98 o superior.
GENERACIÓN DE CÓDIGO
GENERACIÓN DE CÓDIGO INTRODUCCION La generación de código es la fase más compleja de un compilador, puesto que no sólo depende de las características del lenguaje fuente sino también de contar con información
TPVFÁCIL. Caja Real. Definiciones.
TPVFÁCIL. Caja Real. TPVFÁCIL incluye desde la versión 3.3.2 la posibilidad de manejar dos cajas, la Caja Real y la Caja normal. La idea es esconder los datos de caja que pueden alcanzar los usuarios no
TEMA 1: SISTEMAS INFORMÁTICOS. Parte 2: representación de la información
TEMA 1: SISTEMAS INFORMÁTICOS Parte 2: representación de la información Qué vamos a ver? Cómo se representa y almacena la información en un ordenador Cómo podemos relacionar la información que entendemos
UNIDADES DE ALMACENAMIENTO DE DATOS
1.2 MATÉMATICAS DE REDES 1.2.1 REPRESENTACIÓN BINARIA DE DATOS Los computadores manipulan y almacenan los datos usando interruptores electrónicos que están ENCENDIDOS o APAGADOS. Los computadores sólo
El Entorno Integrado de Desarrollo Dev-C++ (Ayuda básica para las primeras sesiones de prácticas)
El Entorno Integrado de Desarrollo Dev-C++ (Ayuda básica para las primeras sesiones de prácticas) Sobre Dev-C++ Dev-C++ es un Entorno Integrado de Desarrollo para el lenguaje de programación C/C++ que
BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN
BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN PRÁCTICA DE LABORATORIO No I NOMBRE DE LA PRÁCTICA: COMANDOS BÁSICOS DE DEBUG( PARTE I) OBJETIVO: APRENDER LOS COMANDOS
5. Composer: Publicar sus páginas en la web
5. Composer: Publicar sus páginas en la web Si nuestras páginas existen únicamente en el disco duro local, sólo nosotros podremos navegar por ellas, pero nadie más podrá hacerlo. Composer nos permite publicarlas
En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
EJERCICIOS DEL TEMA 1
EJERCICIOS DEL TEMA 1 Introducción a los ordenadores 1) Averigua y escribe el código ASCII correspondiente, tanto en decimal como en binario, a las letras de tu nombre y apellidos. Distinguir entre mayúsculas/minúsculas,
Tema 2 : Códigos Binarios
Tema 2 : Códigos Binarios Objetivo: Conocer diferentes códigos binarios Conocer algunos códigos de detección y corrección de errores. Códigos alfanuméricos 1 Códigos Binarios A la representación de cifras,
UNIDAD 2 Configuración y operación de un sistema de cómputo Representación de datos Conceptos El concepto de bit (abreviatura de binary digit) es fundamental para el almacenamiento de datos Puede representarse
Estructuras de Datos y Algoritmos Práctica I - Curso 2012/13
Estructuras de Datos y Algoritmos Práctica I - Curso 2012/13 Rompiendo el Código Enigma Introducción y objetivos Como un pequeño homenaje a Alan Turing en su año conmemorativo, las prácticas de este curso
UAM MANUAL DE EMPRESA. Universidad Autónoma de Madrid
MANUAL DE EMPRESA Modo de entrar en ÍCARO Para comenzar a subir una oferta de empleo, el acceso es a través del siguiente enlace: http://icaro.uam.es A continuación, aparecerá la página de inicio de la
SOLUCION EXAMEN junio 2006
SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los
La pestaña Inicio contiene las operaciones más comunes sobre copiar, cortar y pegar, además de las operaciones de Fuente, Párrafo, Estilo y Edición.
Microsoft Word Microsoft Word es actualmente (2009) el procesador de textos líder en el mundo gracias a sus 500 millones de usuarios y sus 25 años de edad. Pero hoy en día, otras soluciones basadas en
Informática Bioingeniería
Informática Bioingeniería Representación Números Negativos En matemáticas, los números negativos en cualquier base se representan del modo habitual, precediéndolos con un signo. Sin embargo, en una computadora,
TEMA 1. MANEJO DE PROCESADOR DE TEXTOS: Microsoft WORD 2003
TEMA 1. MANEJO DE PROCESADOR DE TEXTOS: Microsoft WORD 2003 TEMA 1. MANEJO DE PROCESADOR DE TEXTOS: MICROSOFT WORD 2003...1 1. ESTILOS Y FORMATOS...1 1.1. Estilos...1 1.2. Niveles...2 1.3. Secciones...2
Fórmulas y funciones
05... Fórmulas y funciones En este tema vamos a profundizar en el manejo de funciones ya definidas por Excel, con el objetivo de agilizar la creación de hojas de cálculo, estudiando la sintaxis de éstas
WINDOWS. Iniciando Windows. El mouse
Windows es un sistema operativo, cuyo nombre lo debe al principal elemento de trabajo, la ventana - en inglés window -. Este tiene características como: Multitarea: durante una sesión de trabajo, es posible
SIMULADOR DE SISTEMAS DE EVENTOS DISCRETOS
SIMULADOR DE SISTEMAS DE EVENTOS DISCRETOS MANUAL DE USUARIO 1.1 Introducción. El simulador de sistemas de eventos discretos está compuesto por dos aplicaciones: el Simulador de redes de Petri y el Simulador
GUIA APLICACIÓN DE SOLICITUDES POR INTERNET. Gestión de Cursos, Certificados de Aptitud Profesional y Tarjetas de Cualificación de Conductores ÍNDICE
ÍNDICE ACCESO A LA APLICACIÓN... 2 1.- HOMOLOGACIÓN DE CURSOS... 4 1.1.- INICIAR EXPEDIENTE... 4 1.2.- CONSULTA DE EXPEDIENTES... 13 1.3.- RENUNCIA A LA HOMOLOGACIÓN... 16 2.- MECÁNICA DE CURSOS... 19
❷ Aritmética Binaria Entera
❷ Una de las principales aplicaciones de la electrónica digital es el diseño de dispositivos capaces de efectuar cálculos aritméticos, ya sea como principal objetivo (calculadoras, computadoras, máquinas
GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS
GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS 1.- PLANTILLA DE PUBLICACIONES En este maestro crearemos la publicación base sobre la cual el programa generará
Capítulo 0. Introducción.
Capítulo 0. Introducción. Bueno, por fin está aquí el esperado (espero!!) Capítulo Cero del Tutorial de Assembler. En él estableceremos algunos conceptos que nos serán de utilidad a lo largo del Tutorial.
TEMA 5. INTRODUCCIÓN AL MANEJO DE ORIGIN 6.1
TEMA 5. INTRODUCCIÓN AL MANEJO DE ORIGIN 6.1!"# 1. Introducción En muchos aspectos, el Origin es muy similar a Excel. Y lo es, más que en su apariencia, en la versatilidad y en las funciones que permite
Plantilla de texto plano
Plantilla de texto plano Esta es la plantilla seleccionada por defecto al crear una nueva página. Título: Es el título que aparecerá identificando a la página, así como en la cabecera del documento en
TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA
TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA Programa: Algoritmo (secuencia no ambigua, finita y ordenada de instrucciones para la resolución de un determinado problema) traducido
Guía rápida de CX-Programmer
Guía rápida de CX-Programmer Esta guía pretende dar al lector los conocimientos más básicos para la programación de un controlador lógico secuencia en el autómata CQM1 de Omron, usando el software CX-Programmer
DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO
I. SISTEMAS NUMÉRICOS DESARROLLO DE HABILIDADES DEL PENSAMIENTO LÓGICO LIC. LEYDY ROXANA ZEPEDA RUIZ SEPTIEMBRE DICIEMBRE 2011 Ocosingo, Chis. 1.1Sistemas numéricos. Los números son los mismos en todos
Presentaciones compartidas con Google Docs (tutorial)
Presentaciones compartidas con Google Docs (tutorial) G oogle Docs es una muy sencilla suite ofimática online que nos permite crear nuevos documentos, planillas de cálculo y presentaciones multimedia,
El módulo de texto plano es un sencillo editor. Al seleccionarlo en la caja de módulos, el área central adoptará al siguiente aspecto:
Plantilla de texto plano El módulo de texto plano es un sencillo editor. Al seleccionarlo en la caja de módulos, el área central adoptará al siguiente aspecto: Título: Es el título que aparecerá identificando
WINDOWS 2008 7: COPIAS DE SEGURIDAD
1.- INTRODUCCION: WINDOWS 2008 7: COPIAS DE SEGURIDAD Las copias de seguridad son un elemento fundamental para que el trabajo que realizamos se pueda proteger de aquellos problemas o desastres que pueden
TEMA 1 Representación de la información
TEMA 1 Representación de la información Tema 1: Representación de la información. Aritmética y Representación binaria 1) Introducción BB1, Cap 2, Ap: 2.1, 2.2.1 2) Sistemas binario-octal-hexadecimal BB1,
TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8.
TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8. 1.) (HOLUB). Escribir un traductor que reconozca definiciones de C siguiendo el estilo antiguo, tal como: prueba(uno, dos, tres, cuatro,
Herramientas Informáticas para la Documentación Práctica 1. Introducción al navegador Netscape
Herramientas Informáticas para la Documentación Práctica 1. Introducción al navegador Netscape Introducción y objetivos De modo muy resumido Internet es una red que interconecta redes de ordenadores. Conectándose
Microsoft Access proporciona dos métodos para crear una Base de datos.
Operaciones básicas con Base de datos Crear una Base de datos Microsoft Access proporciona dos métodos para crear una Base de datos. Se puede crear una base de datos en blanco y agregarle más tarde las
Tema 2. Diseño del repertorio de instrucciones
Soluciones a los problemas impares Tema 2. Diseño del repertorio de instrucciones Arquitectura de Computadores Curso 2009-2010 Tema 2: Hoja: 2 / 16 Tema 2: Hoja: 3 / 16 Base teórica Al diseñar un computador,
Práctica 0. Emulador XENON de la computadora CESIUS
Práctica 0. Emulador XENON de la computadora CESIUS 1. Introducción El objeto de la presente práctica es permitir al alumno ensayar y familiarizarse con los conceptos de programación de computadoras digitales
COMBINAR CORRESPONDENCIA EN MICROSOFT WORD
COMBINAR CORRESPONDENCIA EN MICROSOFT WORD Combinar documentos consiste en unir dos documentos diferentes sin que se modifiquen los datos que aparecen en ellos. Esta operación es muy útil y muy frecuente
Manual Web Alexia Profesor. Índice
Sebastián Suárez 2011 Manual Web Alexia Profesor Índice Entrada (Login) 03 Pantalla de Inicio 03 Barra de menús 04 Definir controles 05 Evaluar controles 06 Elementos comunes en pantallas de evaluación
Índice general de materias LECCIÓN 7 74
Índice general de materias LECCIÓN 7 74 BUSCAR 74 BUSCAR CON FORMATO 77 REEMPLAZAR 78 REEMPLAZAR CON FORMATO 79 NOTAS AL PIE DE PÁGINA 79 CONFIGURAR LAS NOTAS 81 INSERTAR NOTAS AL PIE 83 MODIFICAR NOTAS
Sesión No. 4. Contextualización INFORMÁTICA 1. Nombre: Procesador de Texto
INFORMÁTICA INFORMÁTICA 1 Sesión No. 4 Nombre: Procesador de Texto Contextualización La semana anterior revisamos los comandos que ofrece Word para el formato del texto, la configuración de la página,
by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true
by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true I. FUNDAMENTOS 3. Representación de la información Introducción a la Informática Curso de Acceso a la Universidad
Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas.
Formularios TEMA: FORMULARIOS. 1. INTRODUCCIÓN. 2. CREACIÓN DE FORMULARIOS. 3. INTRODUCIR DATOS EN UN FORMULARIO. 4. MODIFICAR UN FORMULARIO 5. MANERAS DE GUARDAR UN FORMULARIO. 6. IMPRIMIR FORMULARIOS.
Teclado sobre una PDA para Personas con Parálisis Cerebral
Manual de Usuario - 1 - - 2 - Teclado sobre una PDA para Personas con Parálisis Cerebral Capítulo 1. MANUAL DE USUARIO 12.1 Descripción de la aplicación Este programa le permitirá llevar a cabo las siguientes
GVisualPDA Módulo de Almacén
GVisualPDA Módulo de Almacén GVisualPDA es una aplicación para Windows Mobile 5/6 que amplía más aún las posibilidades de integración del software de gestión GVisualRec permitiendo estar conectados en
Tutorial Básico de vbscript
Tutorial Básico de vbscript Bueno, primero aclarar que este tutorial, pretende explicar de manera básica las distintas instrucciones aplicadas en visual basic script (vbs de aquí en más), para que así
A25. Informática aplicada a la gestión Curso 2005/2006 Word Tema 3. Formato de sección.
DEPARTAMENTO DE LENGUAJES Y SISTEMAS INFORMÁTICOS ESCUELA SUPERIOR DE TECNOLOGÍA Y CIENCIAS EXPERIMENTALES A.D.E.M. Segundo Curso A25. Informática aplicada a la gestión Curso 2005/2006 Word Tema 3. Formato
Roberto Quejido Cañamero
Crear un documento de texto con todas las preguntas y respuestas del tema. Tiene que aparecer en él todos los contenidos del tema. 1. Explica qué son los modos de presentación en Writer, cuáles hay y cómo
REGISTRAR LOS SITIOS WEB MÁS INTERESANTES
REGISTRAR LOS SITIOS WEB MÁS INTERESANTES La forma más fácil de volver a páginas Web que visitamos con frecuencia es almacenándolas en una lista. En Internet Explorer estas páginas se denominan sitios
Uso básico desde la propia página del sitio
Para acceder al entorno de Office 365, escriba la dirección http://correo.ulpgc.es. Antes de introducir el nombre de usuario, marcamos la opción de "Mantener la sesión iniciada" e iniciamos sesión introduciendo
Práctica 3: Programación con subrutinas
Práctica 3: Programación con subrutinas 3.1 Objetivos El objetivo de esta práctica es estudiar el soporte del ensamblador del ARM para la gestión de subrutinas, para lo que resulta necesario familiarizarse
Guía de instalación de LliureX 5.09
Guía de instalación de LliureX 5.09 Introducción La distribución LliureX está basada en Sarge, la versión estable de Debian GNU/Linux. Esta guía pretende ayudar al usuario en el proceso de instalación
Guía de Aprendizaje No. 1
MICROSOFT WORD Fundamentos básicos, ejecutar Word, su ventana y sus barras de herramientas Objetivos de la Guía de Aprendizaje No. 1 Obtener fundamentos básicos sobre Procesador de Texto Microsoft Word
GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS
ARCHIVOS ANEXOS Son los documentos, hojas de cálculo o cualquier archivo que se anexa a las carpetas, subcarpetas, hallazgos u otros formularios de papeles de trabajo. Estos archivos constituyen la evidencia
Guadalinex Básico Impress
1 IMPRESS: Editor de Presentaciones Impress es un programa con el que podemos crear diapositivas, transparencias y presentaciones con una variada gama de efectos sin demasiadas complicaciones. Objetivos:
