University of California at Berkeley Department of Electrical Engineering & Computer Sciences Instructional Support Group /share/b/pub/spim.help /share/b/pub/xspim.help Mar 6, 2006 What is SPIM? ------------- "spim" is a self-contained software simulator for running R2000/R3000 assembly language programs. It reads and can immediately execute files containing assembly language code. spim also provides a debugger and simple set of operating system services. The spim software runs on most flavors of Unix systems and on PCs running MS/DOS, Windows 3.1, Windows 95, and Windows NT. "spim" provides both a simple textual interface and a fancier windows interface. The package includes complete source code and documentation. "spim" is developed by James Larus at the University of Wisconsin. Source and documentation for UNIX and PCs is accessible from http://www.cs.wisc.edu/~larus/spim.html (Mar 2000) EECS Instruction has a download site for several versions of SPIM at http://inst.eecs.berkeley.edu/~spim/ . SPIM on UNIX ------------ SPIM is installed on the EECS Instructional computers for use by CS61C class accounts. It is located on the UNIX computers in: ~cs61c/bin/arch/`uname -m`/spim ~cs61c/bin/arch/`uname -m`/xspim To access spim from an account that is not a CS61C class account, add this line to your search path: ~cs61c/bin/arch/`uname -m` (Dec 1997) This is version 4.4.2 (2-3 years behind the current version). The current version lacks the "dump" command, which is a local UC Berkeley addition, so CS61C is using this older version. These run either the HP, Solaris SPARC, or Solaris x86 versions of the programs. (Nov 1998) If you find that you have to type 4 characters into spim before seeing any on the screen, type the UNIX command "stty min 1 -icanon" to correct it. (see "man stty" for more information). Please let "inst@eecs" know if you have problems running this on the EECS Instructional computers. The behavior of the 'dump' command has been reworked slightly: 'dump' dumps in network byte order on all machines, to ensure a homogeneous format for the dump files across architectures. 'dumpnative' gives you the old behavior; i.e., it dumps in the native byte order of the machine you're running on. Some other bugs have been fixed, and the list of changes is in CHANGES.UCB in the source directory (~cs61c/src/spimsal). SPIM for PCs and Macs --------------------- (Jan 2000) Phil Buonadonna ported the UC Berkeley SPIM to Windows NT using the Cygwin toolkit (version b20). If you want to use this version, let "inst@eecs" know. SPIM is available for PCs and Macs (for SPIMing at home). You can download these copies from http://inst.EECS.Berkeley.EDU/~cs61c pcspim.zip (PC .zip format) MacSpim.sit.hqx (MacIntosh .sit.hqx format) SPIMSAL.macintosh.bin (MacIntosh .bin format) SPIMSAL ------- The name "spimsal" refers to the version of "spim" v 4.4.2 upon which the Berkeley extensions have been based, and which is used in cs61c. It understands a wider range of syntax for MIPS assembly language than the standard versions of SPIM. Documentation ------------- SPIM Official Reference Manual (University of Wisconsin): http://www.cs.wisc.edu/~larus/SPIM/spim_documentation.pdf For current references and other information, see the CS61C home page: http://inst.EECS.Berkeley.EDU/~cs61c For a history of changes made by UCB for CS61C, see http://inst.EECS.Berkeley.EDU/~spim/source/spimsal/CHANGES.UCB EECS Instructional & Elecronics Support 377 & 386 Cory, 333 Soda inst@eecs.berkeley.edu