EECS 365: The SPIM/SAL Software
The software used in this class is called SPIM, which is MIPS spelled
backwards; MIPS is the processor in Silicon Graphics workstations.
The SPIM software was originally developed at the U. of Wisconsin. We
are using a particular version called SPIM/SAL, designed to accompany
the text "A Programmer's View of Computer Architecture," by Goodman
and Miller. In short, SPIM/SAL adds a number of instructions to the
MIPS instruction set to make life easier for the assembly language
programmer. The software is used to ease the student into this
style of programming; after a couple of assignments,
the student is then subjected :-) to the underlying MIPS architecture
(and thus SPIM proper).
There are many versions of SPIM/SAL and SPIM floating around the net,
running under UNIX, Win3.1, Win95, and the Mac OS. However, EECS 365 is
using a locally-modified version of SPIM/SAL. You
can get a tar file of the Unix version by clicking
here. Our version of
SPIM/SAL contains the following extensions:
- The instructions call, push_retaddr, pop_retaddr, and return
are added to make subroutine calling/returning more realistic
(and much cleaner).
- The array-like memory access addressing mode discussed in
chapter 7 (i.e. the m[...] and M[...] notation) is no longer
- Indirect addressing through a variable (i.e. pointers) is
supported in conjunction with the move instruction to enable
more realistic access to memory. In particular, this enalbes
- move (addr),src
- move dest,(addr)
SPIM/SAL runs only from the command-line via the command "spimsal".
The general version of SPIM is also available, in two modes: enter
"spim" to run the command-line version, and "xspim" to run the X
windowing system version.
Here are some documents concerning SPIM/SAL and the general version of SPIM.
For more information on the extensions concerning the SPIM/SAL version
used in class, consult your textbook ("A Programmer's View of Computer
Architecture, by Goodman and Miller).
discussing the SAL extensions to SPIM (this is essentially
a summary of chapter 2 of the text)
- a brief
to using XSPIM (the X windowing system version)
- a brief SPIM reference
- the official SPIM reference
from the U. of Wisconsin