Práctica 0. Emulador XENON de la computadora CESIUS



Documentos relacionados
Práctica 0. Emulador XENON de la computadora CESIUS

Práctica 0. Emulador XENON de la computadora CESIUS

Módulo 8: Ofimática básica. Unidad didáctica 4: Introducción y modificación de datos. Access

La ventana de Microsoft Excel

Instructivo de Microsoft Excel 2003

GUÍA RÁPIDA DE TRABAJOS CON ARCHIVOS.

Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas.

Centro de Capacitación en Informática

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

MATERIAL 2 EXCEL 2007

Dev C++. Compilador de C para Windows

MANUAL DE USUARIO DE LA HERAMIENTA CONFIGURACION DE PRESUPUESTOS PARA DISTRIBUIDORES

COMBINAR CORRESPONDENCIA EN MICROSOFT WORD

USO DEL COMANDO. Fdisk. Autor :. Alejandro Curquejo. Recopilación :. Agustí Guiu i Ribera. Versión :.. 1.0

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Proyectos de Innovación Docente

Tutorial de Introducción a la Informática Tema 0 Windows. Windows. 1. Objetivos

Ejercicio 1. Desarrollar un pequeño juego para practicar mecanografía.

ARREGLOS DEFINICION GENERAL DE ARREGLO

Curso Internet Básico - Aularagon

Microsoft Office XP Excel XP (I)

Servicio de Informática Vicerrectorado de Tecnologías de la Información y la Comunicación

Procedimientos Géminis-Nínive Balances y Libros Oficiales. Extracción de Balances y Libros Oficiales.

EMPLEO NTIC`S II SEGUNDO SEMESTRE

NORMA (SEPA) 22/11/2013

Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010

Instalación del programa PSPP y obtención de una distribución de frecuencias.

SMS Gestión. manual de uso

1.- CREAR UNA BASE DE DATOS CON ACCESS

PLANES DE EMPRESA ICEX CONSOLIDA. Manual de Usuario

Manual básico BSCW. 1. Acceder al espacio de trabajo. Hacer clic en Acceder a su área de trabajo.

MANEJANDO FICHEROS Y CARPETAS

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

El proceso de edición digital en Artelope y CTCE

Bienvenido al sistema de Curriculum Digital CVDigital

Manual del Profesor Campus Virtual UNIVO

Qué es y para qué sirve Excel2007?

Descarga Automática. Manual de Usuario. Operador del Mercado Ibérico de Energía - Polo Español Alfonso XI, Madrid

GUÍA DE CONFIGURACIÓN PC PARA HACER USO DE LA SEDE ELECTRÓNICA DEL CABILDO DE GRAN CANARIA

GE Power Management. 6S``O[WS\bORS1]\TWUc`OQWÕ\g. GE-FILES 7\ab`cQQW]\Sa 539$ &

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

Programa Presupuestos de Sevillana de Informática.

ICARO MANUAL DE LA EMPRESA

Uso del programa CALC

Manual de usuario Entidad Solicitante GESFOR

Guía para la migración de asignaturas de grado y másteres al nuevo espacio docente para el curso 2015/2016

A continuación, se detalla el uso de los accesorios más comunes:

Informática I para Bachillerato

Documentación de la Práctica 1 para la asignatura de Nuevas Tecnologías de la Programación (NTP)

Para ingresar a la aplicación Microsoft PowerPoint 97, los pasos que se deben seguir pueden ser los siguientes:

GUÍA BÁSICA DE USO DEL SISTEMA RED

Manual de Nodrix CFDI

MICROSOFT EXCEL Introducción: Qué es y para qué sirve Excel2007? TECNOLOGIA/ INFORMATICA: MS-EXCEL

MIGRACIÓN DEL MOODLE A MESTRE A CASA

Práctica 1. Introducción al SIEMENS 80C167

Fundamentos de la Programación

EJERCICIO 3: DOCUMENTO MAESTRO

Herramientas Informáticas para la Documentación Práctica 1. Introducción al navegador Netscape

Otros tipos de Consultas

- Dirigido a Centros Docentes- Versión 01-23/03/2010

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

Digitales Emitidos Versión 1.0

Retrospect 9 para Mac Anexo de la Guía del usuario

[MANUAL DE USUARIO VUCE DGS003]

Control de Inventarios SisMod

Reservas - Rooming List

MANUAL MÓDULO CECA CON RECARGOS O DESCUENTOS PARA PRESTASHOP Guía Básica

SISTEMA DE APARTADO DE SALAS PARA EVENTOS

MANUAL PARA REALIZAR LA SOLICITUD ELECTRÓNICA

Introducción RecetatorUSB

Manual de Procedimiento

ACTUALIZACIÓN VERSIÓN GEOBASEWEB. RELACIÓN DE CAMBIOS ENTRE v Y v

Manual de iniciación Aula Virtual del IES El Greco

Preliminares. Tipos de variables y Expresiones

ÍNDICE. Acceso a nivel de agencias...3. Organización por carpetas...4. Descarga de facturas desde el portal...5. Búsquedas de facturas...

PRACTICAS DE EXCEL. Primero conoce un poco el Excel y practica a la vez que aprendes

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACÁN INTEGRANTES

MACROS Y FORMULARIOS

Manual de ayuda para la utilización del Correo Interno en el Campus Virtual

MANUAL DE USO DEL PROGRAMA ARKITOOL 2012

TUTORIAL SOBRE EL MANEJO DE LA OFICINA VIRTUAL PARA LA REMISIÓN DE INFORMES DE DOCENCIA VIRTUAL VÍA ADMINISTRACIÓN ELECTRÓNICA

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

PRÁCTICA C INTRODUCCIÓN AL PAQUETE COMPUTACIONAL ELECTRONICS WORKBENCH 4.0

MANUAL DE AYUDA HERRAMIENTA DE APROVISIONAMIENTO

(Altas de prestaciones por ERE S): guía para las empresas

Sistema de Actas de Finiquito en Línea Manual de Usuario

Manual de usuario de Solmicro BI. Página 1

Uso del portafolio digital

Tema: CREACIÓN DE GRÁFICOS ESTADISTICOS EN EXCEL 2013.

CONCEPTOS BASICOS. Febrero 2003 Página - 1/10

HERRAMIENTA DE CONTROL DE PLAGIOS MANUAL DE AYUDA

Índice de documentos. ANEXO II Manual de Electra Versión 1 Junio de 2015 NOTA: Gestión de Electricidad

CLASE 12.-INSERTAR COLUMNAS

generar columnas de texto y números disponer texto en columnas paralelas (para traducciones por ejemplo) situar imágenes junto a textos.

NOTIFICACIÓN DE MOVIMIENTOS DE ESTUPEFACIENTES POR PARTE DE LOS LABORATORIOS FARMACÉUTICOS Y ALMACENES MAYORISTAS DE DISTRIBUCIÓN

Indicaciones específicas para los análisis estadísticos.

BUSINESS OBJECTS EDICIÓN DE REPORTES NIVEL II

CIERRE EJERCICIO CON BECONTA

reemplaza menú archivo y esta situado en la esquina superior izquierda de estos programas de

Clase Nº 9 OPERADOR PC. P á g i n a 1 HOJA DE CALCULO MICROSOFT EXCEL

Transcripción:

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 desarrollados en el curso de la asignatura. Para ello se hará uso un emulador de la computadora virtual CESIUS basada en la estructura de Von- Neumann. El término virtual hace referencia al hecho de que dicha máquina no existe físicamente como tal. Por ello se ha desarrollado un emulador virtual, denominado XENON, que consta de un entorno de programación multiplataforma que permiten programar, depurar y emular el comportamiento la computadora con programas desarrollados en el lenguaje de la máquina CESIUS. Esta práctica está enfocada a que el alumno se familiarice con el entorno de programación del emulador XENON. XENON es una aplicación de libre distribución programada en tecnología JAVA y disponible en: 2. Entornos de programación http://www.esi2.us.es/~jaar/docencia.htm El entorno de programación XENON está dividido en 2 aplicaciones diferentes, cuyas funciones son fácilmente accesibles mediante iconos (véase Figura 1. Entorno de programación principal XENON). A continuación se describen brevemente ambas. ü Entorno de programación: Traductor Es un entorno de programación ensamblador basado en un Lenguaje Simbólico de 2 pasos (LS2). El programa se encuentra en el archivo xenon.main.jar que una vez ejecutado aparece como en la ventana mostrada en la Figura 1. Entorno de programación principal XENON. Dicho programa produce ficheros ejecutables a partir de ficheros de texto (código ASCII) escritos en LS2, con extensión.ls2. Figura 1. Entorno de programación principal XENON. Práctica 0. Curso 2014/15 1

El programa posee un traductor (denominado en el mundo profesional compilador) que además de traducir el programa en LS2 a código binario (denominado en el mundo profesional código máquina), genera mensajes por pantalla informando del resultado de dicho proceso de traducción. Se puede acceder al mismo a través del icono desde la ventana principal. Si el proceso ha sido correcto el mensaje será Compilación de nombre_archivo.ls2 correcta y guardada en nombre_archivo.ece. En otro caso, el traductor informa de los posible errores de traducción detectados en el proceso, informando además de la línea en que se ha producido el error. El código binario o código máquina se escribe en un fichero en el mismo directorio de trabajo. El nombre de dicho fichero se genera de forma automática como nombre_archivo.ece. Como se verá a continuación dicho fichero se usará como entrada para el programa de ejecución. ü Entorno de programación : Depurador El mismo entorno de programación contiene un acceso al Depurador, a través del icono, que es una aplicación que permite ejecutar los programas instrucción a instrucción, mostrando al mismo tiempo el contenido de los registros y la memoria de CESIUS, y facilitando la comprensión del funcionamiento de la máquina, y a su vez la localización de posibles errores de programación. En la Figura 2. Depurador del emulador XENON. se muestra la ventana del Depurador. Figura 2. Depurador del emulador XENON. ü Entorno de programación: Ejecutar Para poder cerrar el ciclo de programación completo, el entorno de programación permite también ejecutar el programa binario (objeto binario), a través del icono. Como se ha dicho más arriba la aplicación genera un fichero para almacenarlo de forma automática denominado nombre_archivo.ece. En resumen, esta aplicación permite emular la ejecución de un programa y muestra los resultados obtenidos en pantalla como si dicha computadora existiese realmente. Esta aplicación para ejecución de los programas también se distribuye por separado y se encuentra en el archivo xenon.emu.jar. Con ella se puede ejecutar el código binario creado directamente, proporcionándole el fichero nombre_archivo.ece como entrada, tantas veces como se desee. Práctica 0. Curso 2014/15 2

3. Desarrollo de la Práctica Para ilustrar los conceptos de programación de computadores y permitir que el alumno se familiarice con el emulador XENON, se propone la realización y análisis de dos programas. El primero consiste en el desarrollo de un programa que calcule la media aritmética de dos números enteros que introduzca el usuario por teclado. Las tareas a realizar por dicho programa son: 1. Leer dos números que el usuario introduzca por teclado, y almacenarlos en memoria. 2. Calcular la media aritmética y almacenar el resultado en memoria. 3. Escribir el resultado en la pantalla. La secuencia de operaciones a efectuar por el alumno son las siguientes: a) Preparación de archivos y directorios Ejecutar la aplicación xenon.main.jar y crear un nuevo Proyecto denominado por ejemplo media. Con ello se crea la carpeta y estructura de directorios correcta en el disco duro del PC. b) Escritura del código fuente en lenguaje LS2 De forma automática la aplicación crea el archivo vacío media.ls2. Seleccionando dicho nombre en el menú de la izquierda, se activa el editor de textos propio de la aplicación y nos permite escribir la secuencia de instrucciones en la ventana de la parte derecha. El código fuente completo en LS2 para dicho programa de cálculo de la media se detalla al margen. Una vez escrito dicho programa en LS2 se guarda desde el menú desplegable archivo o desde el icono correspondiente. Todo el código está ahora guardado en el archivo media.ls2 dentro del directorio media. c) Traducción (compilación) del código fuente Para comprobar que el código funciona correctamente generaremos un fichero ejecutable a partir de nuestro fichero fuente empleando el programa traductor. Para traducir el ORG 0 A: ESP 1 B: ESP 1 C: ESP 1 DOS: CTE 2 INI: LEE A LEE B CAR A SUM B DIV DOS ALM C ESC C FIN programa fuente almacenado en el fichero media.ls2, ejecutaremos el traductor a través del icono correspondiente descrito en la sección anterior. El traductor nos informará si el proceso se ha realizado correctamente o si hay fallos de codificación. En este último caso se debe volver a revisar el código fuente visualmente y modificarlo en consecuencia. d) Ejecución del programa traducido (compilado) y obtención de resultados La ejecución del programa traducido correctamente se hace a través del icono correspondiente descrito en la sección anterior, tras lo cual seguiremos las solicitudes de entrada de datos requeridas por el programa en la pantalla virtual de la computadora. Introduciremos los números enteros solicitados por el programa, y obtendremos su media aritmética como resultado. Recordemos que la computadora CESIUS únicamente maneja números enteros por lo que los resultados fraccionarios aparecerán truncados, esto es, el programa mostrará como resultado de la media de 3 y 6, el número 4 y no 4.5. e) Análisis del programa En este apartado el alumno deberá completar la Tabla 1. Depuración del programa media que se muestra más adelante. Para ello deberá seguir instrucción a instrucción la ejecución del programa desde el principio utilizando el Depurador de la aplicación y anotando los cambios que cada instrucción provoca en las celdas de memoria con etiquetas A, B y C así como los registros A, P, S y E Práctica 0. Curso 2014/15 3

de la computadora. Para ello se proporciona el estado inicial de dichas celdas y registros. La pantalla del Depurador, al que se accede a través del icono correspondiente descrito en la sección anterior, se divide en varias zonas donde se muestran todos los registros de la computadora A, I, P, S, T y E y el teclado y pantalla virtuales. A la derecha se muestra la memoria en una ventana dividida en dos partes. Cada vez que ejecuta una instrucción se refresca el contenido de los registros y celdas de memoria además de su color. Es preciso tener en cuenta la actualización del contenido se realiza justo al terminar la ejecución de una instrucción, por lo que el registro P apunta a la instrucción siguiente, pero ésta no ha sido leída aún de la memoria. De este modo, podemos rellenar la tabla, teniendo en cuenta los valores para las celdas de memoria y registros correspondientes a una determinada instrucción. Recuérdese que el Depurador sustituye las etiquetas del código fuente por las direcciones de memoria a las que apuntan, por lo que el aspecto de las instrucciones que muestra el depurador no es idéntico al código fuente tecleado. El código que presenta el depurador no tiene etiquetas, sino valores numéricos de posiciones de memoria. Estos valores numéricos pueden mostrarse en las bases binaria, decimal y hexadecimal desde el menú vista. Además recuerde que las pseudoinstrucciones no generan código y constituyen únicamente directivas del programa traductor, como por ejemplo la sentencia ORG 0, que indica la posición de memoria en la que comienza a generarse el código, pero no genera ninguna instrucción. Por este motivo, no deben rellenarse las celdas correspondientes a estas pseudoinstrucciones que aparecen rellenas con el símbolo - en la tabla. Por último recuerde que las posiciones de memoria dependen del valor indicado con la pseudoinstrucción ORG. En este caso es ORG 0 por lo que A, B y C se corresponden con las direcciones 1, 2 y 3. NOTA IMPORTANTE: La Tabla 1. Depuración del programa media debe interpretarse del siguiente modo: cada fila presenta el valor de las celdas de memoria y registros justo DESPUÉS de la ejecución de la instrucción de la primera columna de dicha fila. Por ejemplo, si tenemos una instrucción como CAR VALOR en la posición de memoria 3, deberemos anotar como contenido del registro P (puntero de instrucción) el valor 3 (posición de memoria donde se encuentra la instrucción), si bien el valor del registro acumulador no se actualizará con el valor M(VALOR) hasta la siguiente instrucción. Tabla 1. Depuración del programa media Instrucción Celdas Memoria Registros A B C A P S E Estado inicial 0 0 0 0 0 0 0 ORG 0 - - - - - - - A: ESP 1 - - - - - - - B: ESP 1 - - - - - - - C: ESP 1 - - - - - - - DOS: CTE 2 - - - - - - - INI: LEE A LEE B CAR A SUM B DIV DOS ALM C ESC C FIN - - - - - - - Práctica 0. Curso 2014/15 4

4. Programación de vectores Los vectores se almacenan en la memoria de CESIUS usando varias posiciones de memoria consecutivas. Para ello basta con reservar memoria como VEC: ESP 3, o VEC: ESP 4, etc. Para poder localizar las diferentes componentes del vector en la memoria es necesario disponer de la posición de memoria en la que comienza dicho vector, es decir la dirección de la primera componente del vector. Para ello se utiliza la directiva DRE, por ejemplo DCV: DRE VEC. Si se necesita operar con una componente concreta del vector, por ejemplo la k- ésima componente (v K ) se puede ver que la dirección en la que se encuentra es DCV + k - 1. Mediante el modo indirecto de instrucción es ahora posible acceder a dicha posición de memoria. Por ejemplo, si en la posición de memoria PUN se tiene la dirección 20, entonces LEE I PUN permite leer un dato almacenándolo en la memoria en la posición 20. Si se incrementa PUN y se procede igual es posible leer en la posición 21, 22, etc. Lectura de un vector En este primer punto se va a realizar un programa que lea un vector de tres componentes. El alumno debe escribir el código fuente del recuadro al margen en un archivo de texto vector.ls2. Después ha de traducirlo y depurarlo con el emulador XENON observando que la ejecución del mismo es la correcta. Durante la simulación usando el depurador preste especial atención a las operaciones indirectas. Centre para ello el visor de memoria en torno al vector. Cálculo de la media aritmética de las componentes de un vector Añada al programa anterior las sentencias necesarias para que además de la lectura del vector calcule y escriba la media de sus componentes. Traduzca y ejecute el programa comprobando el correcto funcionamiento. NOTA: Se necesitará una variable auxiliar para almacenar la suma parcial, que valdrá inicialmente cero. A esta variable hay que sumarle cada componente del vector, para lo cual se puede usar un bucle como el de lectura pero usando SUM I PUN. Tenga en cuenta que en un bucle siempre hay un bloque de inicio antes de las iteraciones, en este bloque se proporciona valor inicial a las variables que se vayan a usar en el bucle. ORG 0 VEC: ESP 3 K: ESP 1 PUN: ESP 1 UNO: CTE 1 TRES: CTE 3 DCV: DRE VEC INI: CAR UNO BLE: CAR DCV SUM K RES UNO ALM PUN LEEI PUN CAR K SUM UNO RES TRES SAN BLE SAC BLE FIN 5. Programación de matrices Las matrices se almacenan en la memoria de CESIUS igual que los vectores usando varias posiciones de memoria consecutivas. Como las matrices tienen 2 dimensiones dicho almacenamiento consecutivo se puede hacer por filas o por columnas. Usaremos aquí el almacenamiento por filas consecutivas. Al igual que en los vectores primero hay que reservar la memoria necesaria como MAT: ESP 4, o MAT: ESP 9, etc. Para poder localizar las diferentes componentes de la matriz en la memoria es necesario disponer de la posición de memoria en la que comienza dicha matriz, es decir la dirección de la primera componente de la matriz, y para ello se utiliza la directiva DRE, por ejemplo DCM: DRE MAT. Si se necesita operar con una componente concreta de una matriz de M filas y N columnas (A MN ), por ejemplo la componente kj- ésima (a kj ), se puede ver que la dirección en la que se encuentra en la memoria es Mediante el modo de direccionamiento indirecto en las instrucciones puede accederse fácilmente a Dirección de { a kj } = DCM + (k 1)*N + j 1, donde la dirección de { a 11 } = DCM Práctica 0. Curso 2014/15 5

dicha posición de memoria operando como en los vectores, es decir usando dicho modo antes de hacer cualquier operación con las componentes de la matriz. Lectura de una matriz En este primer apartado se va a realizar un programa que lea una matriz de M filas y N columnas. El alumno debe entender perfectamente el algoritmo propuesto al margen, prestando especial atención a la estructura de programación con dos bucles anidados (uno dentro del otro), y analizando si dicho algoritmo cumple las leyes básicas de la programación estructurada explicadas en clase. Una vez analizado en detalle dicho algoritmo debe escribir el código fuente del recuadro del margen derecho en un archivo de texto matriz.ls2. Después ha de traducirlo y depurarlo con el emulador XENON observando que la ejecución del mismo es la correcta. Para ello recuerde que puede centrar el visor de memoria en torno a la matriz. Durante la simulación usando el depurador preste especial atención a las operaciones indirectas. Para asimilar conceptos se ha incluido en la tabla de abajo las direcciones de memoria, en decimal, relacionadas con las componentes de la matriz y su contenido. LS2 DIRECCCION MEMORIA...... M: 1 0 N: 2 0 MAT: 3 {a 11 } 4 {a 21 }...... 6 DCM: 103 3 PUN: 104 0 J: 105 0... funcionamiento. ORG 0 M: ESP 1 N: ESP 1 MAT: ESP 100 DCM: DRE MAT PUN: ESP 1 J: ESP 1 K: ESP 1 UNO: CTE 1 INI: LEE M LEE N CAR UNO BFIL: CAR UNO ALM J BCOL: CAR K RES UNO MUL N SUM J RES UNO SUM DCM ALM PUN LEEI PUN CAR J SUM UNO ALM J RES N SAN BCOL SAC BCOL CAR K SUM UNO RES M SAN BFIL SAC BFIL FIN Cálculo de la matriz transpuesta de una matriz dada En este apartado se propone que modifique el algoritmo y el programa anterior añadiéndole las sentencias necesarias para que además de la lectura de la matriz calcule y escriba en pantalla la matriz transpuesta B de la A, es decir B=A T. Traduzca y ejecute el programa comprobando el correcto NOTA: Se necesitará reservar espacio para ambas matrices A y B, con sus correspondientes direcciones de comienzo en la memoria y punteros. El código ASCII en decimal del carácter espacio es el 32 y del cambio de línea es el 10. Práctica 0. Curso 2014/15 6