Posted by : Oscar Rosado Romero lunes, 29 de abril de 2013


Practica 1

La practica 1 trata sobre el manejo de mars y del lenguaje ensamblador para el procesador mips de 32 bits.
 Empecemos con una introducción del entorno del programa:

1) Nuevo archivo
2) Cargar archivo  
3) Guardar archivo
4) Guardar archivo con otro nombre
5) Ensambla el archivo
6) Ejecuta las instrucciones
7) Ejecuta solo una instrucción
8) Vuelve una instrucción atrás
9) Pausa la ejecución del programa
10) Detiene la ejecución del programa
11) Vuelve a la instrucción inicial
12) Ayuda    
13) Ajusta la velocidad de ejecución de las instrucciones
14) Salida del código
15) Ventana de registros
16) Código ensamblador
17) Pantalla ejecución
  
Como introducción realizaremos el ejercicio propuesto en prácticas, haremos una pequeña introducción sobre cómo manejar el MARS:

a)      Ejecutamos el entorno MARS, previamente descargado.
b)      Una vez listo, pulsamos “Abrir archivo” (número 2 en la introducción) y abrimos el programa “Fibonacci.asm”
c)      Cargamos el programa y lo ensamblamos. (Número 5 en la introducción)
d)      Buscamos la ubicación y los valores de datos iniciales del programa.
e)      Seleccionamos la casilla de permitir pseudo-instrucciones y verificación en el menú de configuración.
f)        Modificamos el valor de la velocidad de ejecución de las instrucciones (número 13 en la introducción) y asignamos 10 Instrucciones/Segundo.
g)  Ejecutamos el programa. (Número 6 en la introducción)

En la ventana RUN I/O(Número 14 en la introducción), se presentará lo siguiente:



Que, como podemos deducir, es la secuencia de Fibonacci, con el “1” como primer valor y el “4181”como el último.

h) Ahora, vamos a establecer un punto de interrupción en la primera instrucción de la subrutina que imprime los resultados:

Para ello hacemos “click” en la casilla de verificación que tenga la
dirección <0x00400060 = 4194400ten>.


i) Restablecemos (Numero 11 en la introducción) y volvemos a ejecutar el programa. Éste se detendrá en la instrucción que hemos marcado.


j) Hacemos doble “click” en una de las dos posiciones de memoria, lo que nos permitirá introducir valores por teclado.

k) Cambiamos ligeramente el resultado, borramos lo que había en la ventana RUN I/O y volvemos a ejecutar el programa para que continúe desde el punto de interrupción. Así, la salida del programa, incluirá el valor que hemos introducido por teclado, en vez del número calculado por Fibonacci.

Hecho esto, procederemos a editar el programa para que nos de la longitud de la secuencia de números:

a) Pulsamos “Editar” para proceder a la edición del programa.

b) Eliminamos los "#" de las líneas 12 -19 para hacer operativo esta sección del código. (Pues las almohadillas se usan para indicar que lo que hay entre ellas es un comentario, y evade esa parte del código)


(Ésta es la parte del código que se activará)

c) Éste nuevo fragmento de código permitirá pedir al usuario cuantos términos de la sucesión de Fibonacci quiere que se muestren por pantalla

d) Para introducir un número, debemos modificar la línea “15”, colocando en ella la siguiente instrucción:

li $v0, ???. Donde el número 5 corresponde al “Read Integer” o “→ Lectura de número entero”. Esto se puede encontrar en el menú ayuda (número 12 en la introducción) y abriendo luego la pestaña “syscalls” donde se muestran las distintas llamadas al sistema según el valor en $v0.

Esto es todo en la introducción sobre MARS, ahora es tiempo de usar nuestros conocimientos para modificar el programa de forma que la sucesión use 3 números como “valores iniciales” en vez de 2 como hace la sucesión de Fibonacci. El código quedaría de la siguiente forma:


Tras esto queda finalizada la 1º practica sobre el MARS.

Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © Fec -