Está en la página 1de 6

1

6. SPIM
El simulador SPIM es un programa que permite ejecutar directamente código ensamblador MIPS. Por
lo tanto, no es necesario ensamblar el código para su ejecución, basta con invocar el simulador, cargar el
código fuente y ordenar su ejecución. El simulador está disponible en versiones para Windows y Linux.
Puede descargarse de la siguiente página:

http : //pages.cs.wisc.edu/ ∼ larus/spim.html

En cada programa en SPIM, hay dos zonas diferenciadas: La zona de datos, que comienza con la directiva
.data. En esta zona se reserva espacio para los datos que vayan a usarse en el programa. La zona de código,
que comienza con la directiva .text. En esta zona va el cóigo del programa. Todos los programas deben
contener una etiqueta llamada main, que será la etiqueta de la primera instrucción del programa.

6.1. Directivas
Existen ciertas directivas que dan instrucciones al compilador SPIM, de cómo compilar el código.
Estas se escriben en el segmento de datos y comienzan con un punto. Las directivas no forman parte
del juego de instrucciones MIPS, si no que sirven para declarar los tipos de datos o zonas del programa.
Algunas directivas utiles son:

1 Información sacada de Tarea#2 de ili245 año 2008

4
6.2. Llamadas a Sistema
Las llamadas al sistema son solicitudes que un programa realiza al sistema operativo para que haga
ciertas operaciones. Normalmente se trata de operaciones de entrada o salida.
Por ejemplo, para desplegar un string en pantalla, se debe incluir el siguiente cóigo:
mensaje: .asciiz ”HOLA MUNDO ”
li $v0, 4
la $a0, mensaje
syscall

En este caso, las dos primeras instrucciones le indican al sistema qué tiene que hacer. Cómo puede
verse,se almacena información en los registros $a0 y $v0. En las llamadas a sistema $v0 recibe el código
de la operación a realizar.
En este caso, la operación es el número 4: mostrar por pantalla una cadena de caracteres. Lo que se desea
mostrar se guarda en $a0. Tras ello se ejecuta syscall y el sistema ejecutará la tarea solicitada.
Una lista de llamadas al sistema util es la siguiente:

5
6.3. Otros

JMH/LATEX 2ε

6
7
8
9

También podría gustarte