spim is a self-contained simulator that will run MIPS32 assembly language programs. It reads and executes assembly language programs written for this processor. spim also provides a simple debugger and minimal set of operating system services. spim does not execute binary (compiled) programs.

spim implements almost the entire MIPS32 assembler-extended instruction set. (It omits most floating point comparisons and rounding modes and the memory system page tables.) The MIPS architecture has several variants that differ in various ways (e.g., the MIPS64 architecture supports 64-bit integers and addresses), which means that spim will not run programs compiled for all types of MIPS processors. MIPS compilers also generate a number of assembler directives that spim cannot process. These directives usually can be safely deleted.


Compute Systems Invocation Version(s)
Red Hat Linux (64-bit) % /util/bin/spim 8.0 (default)


  1. Exit spim with Ctrl-d.


  1. Kris Schindler, instructor.


  1. http://en.wikipedia.org/wiki/SPIM
  2. http://pages.cs.wisc.edu/~larus/spim.html
  3. http://spimsimulator.svn.sourceforge.net/viewvc/spimsimulator/?view=tar