MIPS32 Simulators


Two popular MIPS simulators are introduced below:
MARS (MIPS Assembler and Runtime Simulator)
MARS is a lightweight interactive development environment (IDE) for programming in MIPS assembly language, intended for educational-level use with our textbook. It is developed by the Missouri State University.

Spim (a MIPS32 Simulator)
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. There are three kinds of spim:

  • QtSpim: The newest version of Spim is called QtSpim, and unlike other versions, it runs on Microsoft Windows, Mac OS X, and Linux.

  • Spim for Unix: Spim implements both a simple, terminal-style interface and a window interface. Spim provides the terminal interface and the xspim program provides the X window interface.

  • PCSpim for Windows: PCSpim provides the Windows interface.

Spim implements almost the entire MIPS32 assembler-extended instruction set. It does not execute binary (compiled) programs.
The MIPS tutorial, to which we will refer in classes, uses PCSpim. However, PCSpim does not work for Windows 7, but it does work for Windows NT, 2000, and XP. On the other hand, QtSpim only works for Debian-based Linux, which is not used by us. Hence, we will use MARS in this course. In order to complete the programming exercises, the following two tools are needed:


      “The journey is what brings us happiness not the destination.”    
      ― Dan Millman, Way of the Peaceful Warrior: A Book That Changes Lives