This directory contains SPIM--an assembly language MIPS R2000/R3000
simulator.  The files are:

Makefile
	The make file for the system.

README	This file.

COPYING
	GNU copyright notices.

VERSION
	Version number of system.


buttons.c
	X-interface code for command buttons.

data.c
	Code to handle data directives.

inst.c
	Code to build instructions and manipulate symbol table.

mem.c
	Code to maintain memory.

read-aout.c
	Code to read MIPS a.out executables.

run.c
	Instruction simulator.

spim-utils.c
	Misc. routines.

spim.c
	Top-level interface.

sym_tbl.c
	Symbol table.

textact.c
	X-interface code.

windows.c
	X-interface code to build windows.

xspim.c
	Top-level X-interface.

xutils.c
	X-inteface code.


inst.h
	Instruction data type and exception information.

mem.h
	Memory-access macros.

op.h
	Definition of operations.

reg.h
	Register access macros.

spim-syscall.h
	System call numbers.

spim.h
	General definitions.

sym_tbl.h
	Symbol table data type.

xspim.h
	X-interface definitions.


parser.y
	Parser for lines of assembly instructions.

scanner.l
	Scanner.


trap.handler
	Standard trap handler.


Tests
	Subdirectory contain torture tests to verify that SPIM works.

spim.tex
mips.id
xinterface.id
	TeX document that describes SPIM.

spim.ps
	Postscript version of TeX document.



To make spim, edit the first few lines of the Makefile to set the
parameters for the target machine, then type "make test".

To make xspim, type "make xspim."


SPIM is copyrighted by me and is distributed under the terms of the
GNU General Public License, Version 1.  Please read this document,
which is in the file COPYING.


Although SPIM is free software, it cost time and money to produce.  If
you use SPIM and work in industry, you can help support development of
software of this sort by having your company make a unrestricted
donation to my research program.  To do this, mail me check (address
attached) payable to ``Computer Sciences Fund -- University of
Wisconsin Foundation.''  The foundation's federal taxpayer
identification number is 39-074-3975.

James Larus
larus@cs.wisc.edu
Computer Sciences Department
1210 West Dayton Street
University of Wisconsin
Madison, WI 53706
608-262-9519
