debian/0000755000000000000000000000000012237503672007175 5ustar debian/spim-doc0000644000000000000000000000045711363311011010620 0ustar Document: spim-html Title: SPIM - A MIPS32 Simulator Author: James Larus Abstract: Information about spim, the MIPS32 simulator Section: Science/Electronics Format: HTML Index: /usr/share/doc/spim/SPIM.html Files: /usr/share/doc/spim/SPIM.html Format: PostScript Files: /usr/share/doc/spim/spim.ps.gz debian/spim.menu0000644000000000000000000000031211363311011011006 0ustar ?package(spim):needs="X11" section="Applications/Emulators"\ title="XSPIM" command="/usr/bin/xspim" ?package(spim):needs="text" section="Applications/Emulators"\ title="SPIM" command="/usr/bin/spim"debian/control0000644000000000000000000000225612237503577010611 0ustar Source: spim Section: electronics Priority: extra Maintainer: Jean-Christophe Dubacq Uploaders: Mackenzie Morgan , Thorsten Alteholz Build-depends: debhelper (>= 9), libxaw7-dev, bison, flex, xutils-dev, dpkg-dev (>= 1.16.0) Standards-Version: 3.9.4 Vcs-Svn: svn://anonscm.debian.org/collab-maint/ext-maint/spim/trunk/ Vcs-Browser: http://anonscm.debian.org/viewvc/collab-maint/ext-maint/spim/trunk/ Homepage: http://pages.cs.wisc.edu/~larus/spim.html Package: spim Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Recommends: xfonts-75dpi, xfonts-100dpi Description: MIPS R2000/R3000 emulator Emulates a MIPS R2000/R3000 processor in software. Useful for students who are taught MIPS R2000/R3000 assembly. . SPIM S20 is a software simulator that runs assembly language programs for the MIPS R2000/R3000 RISC computers. SPIM can read and immediately run files containing assembly language statements. SPIM is a self-contained system for running these programs and contains a debugger and interface to the operating system. debian/copyright0000644000000000000000000000461112237154334011127 0ustar From the author: As a birthday present, the new version of spim (8.0) has a simpler, less restrictive license, namely the standard BSD license. It was downloaded from http://www.cs.wisc.edu/~larus/SPIM/ This package was first debianized by Fernando Sanchez fer@debian.org on Sun, 14 Feb 1999 13:59:18 +0100. It was redebianized by Jean-Christophe Dubacq. jcdubacq1@free.fr on Fri, 09 Apr 2010 14:04:57 +0200. xspim.desktop and the xspim svg logo were made by Mackenzie Morgan Upstream Author: James R. Larus README FILE FOR SPIM, XSPIM, and PCSPIM ======================================= This directory contains SPIM--an assembly language MIPS R2000/R3000 simulator. SPIM is covered by a BSD license. Copyright (c) 1990-2010, James R. Larus. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the James R. Larus nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Note: CPU/endian.c is missing a license statement. James Larus has clarified: "CPU/endian.c is covered by the BSD 3-clause license. It is my oversight that I didn't correct the copyright on it." debian/changelog0000644000000000000000000001463512237502566011061 0ustar spim (8.0+dfsg-6) unstable; urgency=low * acknowledge NMU * add patch from YunQiang Su to make it compile on mips/mipsel (Closes: #726282, #599954) * debian/control: add myself to uploaders * debian/control: bump standard to 3.9.4 (no changes) * debian/control: use dh 9 for hardening flags * debian/control: move VCS-field to alioth * debian/control: add dependency on xfonts-75dpi, xfonts-100dpi (Closes: #670949) * debian/copyright: remove reference to /usr/share/common-licenses/BSD the license text is already listed -- Thorsten Alteholz Fri, 08 Nov 2013 18:43:23 +0100 spim (8.0+dfsg-5.1) unstable; urgency=low * Non-maintainer upload. * Fix "FTBFS: ../CPU/spim-utils.c:117:7: error: invalid use of void expression": add patch configure-multiarch from Ubuntu / Matthias Klose: - Fix configury with multiarch libc. LP: #756116. Additionally, add versioned build dependency on dpkg-dev. (Closes: #629693) -- gregor herrmann Mon, 30 Jan 2012 17:43:23 +0100 spim (8.0+dfsg-5) unstable; urgency=low * Remove nonsensical recommends (thanks Piotr Engelking)(closes: #578484) * Add description to "hyphens" patch * Add VCS-* headers -- Jean-Christophe Dubacq Tue, 20 Apr 2010 12:39:51 +0200 spim (8.0+dfsg-4) unstable; urgency=low * Fix debian/watch * Add get-orig-source target -- Jean-Christophe Dubacq Thu, 15 Apr 2010 15:55:41 +0200 spim (8.0+dfsg-3) unstable; urgency=low * Change orig mangling scheme * Small cleanups (lintian-clean) * Patch manpages for hyphens * Extend long description -- Jean-Christophe Dubacq Tue, 13 Apr 2010 16:21:11 +0200 spim (8.0+dfsg-2) unstable; urgency=low * Integration of changes by Mackenzie Morgan * Add .desktop and icons * Fresh upload to debian. Closes: #577087. -- Jean-Christophe Dubacq Mon, 12 Apr 2010 07:57:01 +0200 spim (8.0+dfsg-1) unstable; urgency=low * New upstream release - New license (non-free to BSD) - Fixes bug with input reading - Clean up stack alignment - Fixes problems with new versions of flex * Remove cycle.ps from Documentation (no source available) * Now under a free license * Completely new packaging after removal from debian. * Changelog kept for historical reasons. -- Jean-Christophe Dubacq Fri, 09 Apr 2010 13:46:43 +0200 spim (7.3-1) unstable; urgency=low * QA upload. * New upstream release - Fixes "hanging" when starting. (Closes: #369533) -- Margarita Manterola Tue, 26 Sep 2006 12:19:11 -0300 spim (7.2.1-1) unstable; urgency=low * QA upload. * New upstream release. * Package is orphaned (#354501); set maintainer to Debian QA Group. * Acknowledge NMU. Closes: #326097, #346936, #349389. * Add a build dependency on bison. * Change priority to extra in accordance with the override file. * Install upstream changelog. * Switch to debhelper 5. * spim/Makefile: Allow optimization flags to be overridden. * debian/rules: - Add support for DEB_BUILD_OPTIONS=noopt. - Use dh_install rather than (buggy) upstream Makefiles. * debian/watch: Add. * Conforms to Standards version 3.7.2. -- Matej Vela Tue, 16 May 2006 19:33:57 -0500 spim (7.1-1.1) unstable; urgency=low * Non-maintainer upload. * Replace build-dependency on xlibs-dev with an explicit build-dependency on each required package. (Closes: #346936) * Don't re-declare static variables as non-static; fixes FTBFS on gcc-4.0, patch from Andreas Jochens. (Closes: #326097) -- Steinar H. Gunderson Sun, 22 Jan 2006 19:11:29 +0100 spim (7.1-1) unstable; urgency=low * New upstream version (Closes: Bug#271608) * Added Build-Depends on flex and debhelper (>= 4) * Created debian/compat (V4) * Updated Standards-Version to 3.6.2 * Fixed unquoted strings in spim.menu * Switched to dh_installman instead of dh_installmanpages -- Fernando Sanchez Sun, 3 Jul 2005 16:25:11 +0200 spim (6.5-1) unstable; urgency=low * New upstream release (Closes: Bug#178264) * Added libxaw7-dev instead of libxaw-dev to build-depends. It already depended on xutils so there is no need to add it (Closes: Bug#102515) -- Fernando Sanchez Fri, 24 Jan 2003 21:23:48 +0100 spim (6.4-2) unstable; urgency=low * Added libxaw-dev and xlibs-dev to build-depends (Closes: Bug#139062) -- Fernando Sanchez Tue, 19 Mar 2002 16:58:57 +0100 spim (6.4-1) unstable; urgency=low * New upstream release -- Fernando Sanchez Fri, 8 Mar 2002 18:37:26 +0100 spim (6.3-1) unstable; urgency=low * New upstream release -- Fernando Sanchez Wed, 24 Jan 2001 14:05:34 +0100 spim (6.2-3) unstable; urgency=low * Compiled with current Debian libraries to ensure correct operation * Changed Standards-Version to 3.0.1 * Added menu entry for spim and xspim binaries * Renamed spim man page from spim.1x.gz to spim.1.gz -- Fernando Sanchez Sun, 19 Dec 1999 21:48:00 +0100 spim (6.2-2) unstable; urgency=low * Compiled with current potato libraries * Packaged following FHS documentation placement rules -- Fernando Sanchez Sun, 12 Sep 1999 16:05:08 +0200 spim (6.2-1) unstable; urgency=low * New maintainer: Fernando Sanchez * New upstream source -- Fernando Sanchez Sat, 13 Feb 1999 19:15:51 +0100 spim (6.1-3) frozen non-free; urgency=low * Reuploading so that spim can make it out of orphaned. -- Jay Kominek Sun, 15 Mar 1998 15:37:43 -0500 spim (6.1-2) non-free; urgency=low * Included the Tests directory with the package. -- Jay Kominek Mon, 9 Mar 1998 17:19:51 -0500 spim (6.1-1) non-free; urgency=low * New upstream release. -- Jay Kominek Fri, 20 Feb 1998 22:24:44 -0500 spim (6.0-3) non-free; urgency=low * Moved into non-free. (Fixes bug #14956) -- Jay Kominek Thu, 20 Nov 1997 15:27:39 -0500 spim (6.0-2) unstable; urgency=low * Compiled for Libc6. -- Jay Kominek Fri, 7 Nov 1997 23:46:19 -0500 spim (6.0-1) unstable; urgency=low * Initial Release. -- Jay Kominek Wed, 3 Sep 1997 17:30:03 -0400 debian/compat0000644000000000000000000000000212237156476010401 0ustar 9 debian/xspim.svg0000644000000000000000000002025411363311011011040 0ustar image/svg+xml MIPS debian/spim.install0000644000000000000000000000031011363311011011506 0ustar spim/spim usr/bin xspim/xspim usr/bin CPU/exceptions.s usr/lib/spim debian/xspim.desktop usr/share/applications debian/xspim.svg usr/share/pixmaps debian/spim-doc usr/share/doc-base/ debian/watch0000644000000000000000000000014111363311011010201 0ustar version=3 opts=dversionmangle=s/\+dfsg// \ http://www.cs.wisc.edu/~larus/SPIM/spim-(.*)\.tar\.gz debian/spim.manpages0000644000000000000000000000005711363311011011643 0ustar Documentation/spim.man Documentation/xspim.man debian/patches/0000755000000000000000000000000012237503672010624 5ustar debian/patches/configure-multiarch0000644000000000000000000000160111711544243014507 0ustar Description: Fix configury with multiarch libc. Bug-Ubuntu: https://bugs.launchpad.net/bugs/756116 Bug-Debian: http://bugs.debian.org/629693 Forwarded: no Author: Matthias Klose Reviewed-by: gregor herrmann Last-Update: 2012-01-30 --- spim-8.0+dfsg.orig/spim/Configure +++ spim-8.0+dfsg/spim/Configure @@ -74,7 +74,15 @@ fi; rm -f endian endian.exe -if [ -f /usr/lib/libc.a ]; then +multiarch=$(dpkg-architecture -qDEB_HOST_MULTIARCH) + +if [ -f /usr/lib/$multiarch/libc.a ]; then + # Debian Universe: + echo Looks like a Debian universe exists... + echo Scaning libc + nm /usr/lib/$multiarch/libc.a > library_contents + set flag = -s +else if [ -f /usr/lib/libc.a ]; then # BSD Universe: echo Looks like a BSD universe exists... echo Scaning libc @@ -106,6 +114,7 @@ else if [ -f /usr/lib64/libc.a ]; then fi; fi; fi; +fi; fi; fi; debian/patches/build0000644000000000000000000000362712237161224011647 0ustar This patch changes the build logic of the package by generating a top-level Makefile and introducing alternate variables for Makefile setup. Index: spim-8.0.dfsg/Makefile =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 +++ spim-8.0.dfsg/Makefile 2013-11-08 14:07:59.000000000 +0100 @@ -0,0 +1,9 @@ +MAKE += CC="$(CC) -Wl,--as-needed" CDEBFLAGS="$(CFLAGS)" EXCEPTION_DIR=/usr/lib/spim +build: + cd spim && $(MAKE) spim + cd xspim && xmkmf && $(MAKE) xspim +clean: + cd spim && $(MAKE) very-clean + cd xspim && { [ ! -f Makefile ] || $(MAKE) distclean; } + rm -f Tests/tt.endian.s Tests/tt.s +.PHONY: build clean Index: spim-8.0.dfsg/spim/Makefile =================================================================== --- spim-8.0.dfsg.orig/spim/Makefile 2013-11-08 14:07:59.000000000 +0100 +++ spim-8.0.dfsg/spim/Makefile 2013-11-08 14:07:59.000000000 +0100 @@ -105,10 +105,10 @@ DEFINES = $(ENDIAN) $(MEM_SIZES) -DDEFAULT_EXCEPTION_HANDLER="\"$(EXCEPTION_DIR)/exceptions.s\"" -DSPIM_VERSION="\"`cat ../VERSION`\"" CC = gcc -CFLAGS = -I. -I$(CPU_DIR) $(DEFINES) -g -Wall +CFLAGS = -I. -I$(CPU_DIR) $(DEFINES) $(CDEBFLAGS) YFLAGS = -d --file-prefix=y YCFLAGS = -LDFLAGS = -lm +LDFLAGS += -lm CSH = bash # lex.yy.c is usually compiled with -O to speed it up. Index: spim-8.0.dfsg/xspim/Imakefile =================================================================== --- spim-8.0.dfsg.orig/xspim/Imakefile 2010-01-09 06:22:58.000000000 +0100 +++ spim-8.0.dfsg/xspim/Imakefile 2013-11-08 14:09:28.000000000 +0100 @@ -101,13 +101,13 @@ DEPLIBS = XawClientDepLibs LOCALLIBS = XawClientLibs -CDEBUGFLAGS = -g +CDEBUGFLAGS = -g $(CPPFLAGS) INCLUDES = -I. -I$(CPU_DIR) DEFINES = $(ENDIAN) $(MEM_SIZES) -DDEFAULT_EXCEPTION_HANDLER="\"$(EXCEPTION_DIR)/exceptions.s\"" -DSPIM_VERSION="\"`cat ../VERSION`\"" -SYS_LIBRARIES = -lm +SYS_LIBRARIES = -lm $(LDFLAGS) # debian/patches/series0000644000000000000000000000006712237164133012037 0ustar build hyphens configure-multiarch run-remove-mips.diff debian/patches/run-remove-mips.diff0000644000000000000000000000070112237164075014521 0ustar Author: YunQiang Su Description: make it compile on mips/mipsel Index: spim/CPU/run.c =================================================================== --- spim.orig/CPU/run.c 2013-10-13 12:04:11.724244468 +0800 +++ spim/CPU/run.c 2013-10-13 12:12:42.678913961 +0800 @@ -31,12 +31,7 @@ */ -#ifdef mips -#define _IEEE 1 -#include -#else #define NaN(X) ((X) != (X)) -#endif #include #include debian/patches/hyphens0000644000000000000000000003053511363311011012212 0ustar This patch protects the hyphens in the man page. Index: spim/Documentation/spim.man =================================================================== --- spim.orig/Documentation/spim.man 2010-04-13 16:01:05.000000000 +0200 +++ spim/Documentation/spim.man 2010-04-13 16:01:16.000000000 +0200 @@ -4,29 +4,29 @@ .SH SYNTAX .B spim -[\|\fI-asm/-bare\fP - \fI-exception/-noexception\fP - \fI-quiet/-noquiet\fP - \fI-mapped_io/-nomapped_io\fP +[\|\fI\-asm/\-bare\fP + \fI\-exception/\-noexception\fP + \fI\-quiet/\-noquiet\fP + \fI\-mapped_io/\-nomapped_io\fP .br -\fI-delayed_branches\fP - \fI-delayed_loads\fP +\fI\-delayed_branches\fP + \fI\-delayed_loads\fP .br -\fI-stext size\fP - \fI-sdata size\fP - \fI-sstack size\fP - \fI-sktext size\fP - \fI-skdata size\fP - \fI-ldata size\fP - \fI-lstack size\fP - \fI-lkdata size\fP +\fI\-stext size\fP + \fI\-sdata size\fP + \fI\-sstack size\fP + \fI\-sktext size\fP + \fI\-skdata size\fP + \fI\-ldata size\fP + \fI\-lstack size\fP + \fI\-lkdata size\fP .br -\fI-file file \fP \fI-execute file \fP \|] +\fI\-file file \fP \fI\-execute file \fP \|] .SH DESCRIPTION SPIM S20 is a simulator that runs programs for the MIPS32 RISC computers. SPIM can read and immediately execute files containing assembly -language or MIPS executable files. SPIM is a self-contained system +language or MIPS executable files. SPIM is a self\-contained system for running these programs and contains a debugger and interface to a few operating system services. .PP @@ -34,8 +34,8 @@ It runs on any type of terminal. It operates like most programs of this type: you type a line of text, hit the \fIreturn\fP key, and \fIspim\fP executes your command. The fancier version of SPIM is -called \fIxspim\fP. It uses the X-window system, so you must have a -bit-mapped display to run it. \fIxspim\fP, however, is a much easier +called \fIxspim\fP. It uses the X\-window system, so you must have a +bit\-mapped display to run it. \fIxspim\fP, however, is a much easier program to learn and use because its commands are always visible on the screen and because it continually displays the machine's registers. @@ -43,19 +43,19 @@ .SH OPTIONS \fIspim\fP has many options: -.IP \fB-asm\fP 10 +.IP \fB\-asm\fP 10 Simulate the virtual MIPS machine provided by the assembler. This is the default. -.IP \fB-bare\fP 10 -Simulate a bare MIPS machine without pseudo-instructions or the +.IP \fB\-bare\fP 10 +Simulate a bare MIPS machine without pseudo\-instructions or the additional addressing modes provided by the assembler. Implies -\fI-quiet\fP. +\fI\-quiet\fP. -.IP \fB-exception\fP 10 +.IP \fB\-exception\fP 10 Load the standard exception handler and startup code. This is the default. -.IP \fB-noexception\fP 10 +.IP \fB\-noexception\fP 10 Do not load the standard exception handler and startup code. This exception handler handles exceptions. When an exception occurs, SPIM jumps to location 0x80000080, which must contain code to service the @@ -63,29 +63,29 @@ the routine \fImain\fP. Without the startup routine, SPIM begins execution at the instruction labeled \fI__start\fP. -.IP \fB-quiet\fP 10 +.IP \fB\-quiet\fP 10 Print a message when an exception occurs. This is the default. -.IP \fB-noquiet\fP 10 +.IP \fB\-noquiet\fP 10 Do not print a message at exceptions. -.IP \fB-mapped_io\fP 10 -Enable the memory-mapped IO facility. Programs that use SPIM syscalls -to read from the terminal \fBcannot\fP also use memory-mapped IO. +.IP \fB\-mapped_io\fP 10 +Enable the memory\-mapped IO facility. Programs that use SPIM syscalls +to read from the terminal \fBcannot\fP also use memory\-mapped IO. -.IP \fB-nomapped_io\fP 10 -Disable the memory-mapped IO facility. +.IP \fB\-nomapped_io\fP 10 +Disable the memory\-mapped IO facility. -.IP \fB-delayed_branches\fP 10 +.IP \fB\-delayed_branches\fP 10 Simulate MIPS's delayed control transfers by executing the instruction after a branch, jump, or call before transferring control. SPIM's default is to -simulate non-delayed transfers, unless the -bare flag is set. +simulate non\-delayed transfers, unless the \-bare flag is set. -.IP \fB-delayed_loads\fP 10 -Simulate MIPS's original, non-interlocked load instructions. SPIM's default -is to simulate non-delayed loads, unless the -bare flag is set. +.IP \fB\-delayed_loads\fP 10 +Simulate MIPS's original, non\-interlocked load instructions. SPIM's default +is to simulate non\-delayed loads, unless the \-bare flag is set. -.IP "\fB-stext size\fP \fB-sdata size\fP \fB-sstack size\fP \fB-sktext size\fP \fB-skdata size\fP" 10 +.IP "\fB\-stext size\fP \fB\-sdata size\fP \fB\-sstack size\fP \fB\-sktext size\fP \fB\-skdata size\fP" 10 Sets the initial size of memory segment \fPseg\fP to be \fIsize\fP bytes. The memory segments are named: \fItext\fP, \fIdata\fP, \fIstack\fP, \fIktext\fP, and \fIkdata\fP. The \fItext\fP segment @@ -96,18 +96,18 @@ part of the address space called the \fIkernel\fP. The \fIktext\fP segment holds this code's instructions and \fIkdata\fP holds its data. There is no \fIkstack\fP segment since the system code uses the same -stack as the program. For example, the pair of arguments \fI-sdata +stack as the program. For example, the pair of arguments \fI\-sdata 2000000\fP starts the user data segment at 2,000,000 bytes. -.IP "\fB-ldata size\fP \fB-lstack size\fP \fB-lkdata size\fP" 10 +.IP "\fB\-ldata size\fP \fB\-lstack size\fP \fB\-lkdata size\fP" 10 Sets the limit on how large memory segment \fIseg\fP can grow to be \fIsize\fP bytes. The memory segments that can grow are \fIdata\fP, \fIstack\fP, and \fIkdata\fP. -.IP "\fB-file file \fP" 10 +.IP "\fB\-file file \fP" 10 Load and execute the assembly code in the file with arguments \fB\fP. -.IP "\fB-execute file \fP" 10 +.IP "\fB\-execute file \fP" 10 Load and execute the MIPS \fIexecutable\fP (a.out) file with arguments \fB\fP. Only works on systems using a MIPS processors. Index: spim/Documentation/xspim.man =================================================================== --- spim.orig/Documentation/xspim.man 2010-04-13 16:01:05.000000000 +0200 +++ spim/Documentation/xspim.man 2010-04-13 16:01:23.000000000 +0200 @@ -4,32 +4,32 @@ .SH SYNTAX .B xspim -[\|\fI-asm/-bare\fP - \fI-exception/-noexception\fP - \fI-quiet/-noquiet\fP - \fI-mapped_io/-nomapped_io\fP +[\|\fI\-asm/\-bare\fP + \fI\-exception/\-noexception\fP + \fI\-quiet/\-noquiet\fP + \fI\-mapped_io/\-nomapped_io\fP .br -\fI-delayed_branches\fP - \fI-delayed_loads\fP +\fI\-delayed_branches\fP + \fI\-delayed_loads\fP .br -\fI-stext size\fP - \fI-sdata size\fP - \fI-sstack size\fP - \fI-sktext size\fP - \fI-skdata size\fP - \fI-ldata size\fP - \fI-lstack size\fP - \fI-lkdata size\fP +\fI\-stext size\fP + \fI\-sdata size\fP + \fI\-sstack size\fP + \fI\-sktext size\fP + \fI\-skdata size\fP + \fI\-ldata size\fP + \fI\-lstack size\fP + \fI\-lkdata size\fP .br - \fI-hexgpr/-nohexgpr\fP - \fI-hexfpr/-nohexfpr\fP\|] + \fI\-hexgpr/\-nohexgpr\fP + \fI\-hexfpr/\-nohexfpr\fP\|] .br -\fI-file file\fP \fI-execute file\fP +\fI\-file file\fP \fI\-execute file\fP .SH DESCRIPTION SPIM S20 is a simulator that runs programs for the MIPS32 RISC computers. SPIM can read and immediately execute files containing assembly -language or MIPS executable files. SPIM is a self-contained system +language or MIPS executable files. SPIM is a self\-contained system for running these programs and contains a debugger and interface to a few operating system services. .PP @@ -37,8 +37,8 @@ It runs on any type of terminal. It operates like most programs of this type: you type a line of text, hit the \fIreturn\fP key, and \fIspim\fP executes your command. The fancier version of SPIM is -called \fIxspim\fP. It uses the X-window system, so you must have a -bit-mapped display to run it. \fIxspim\fP, however, is a much easier +called \fIxspim\fP. It uses the X\-window system, so you must have a +bit\-mapped display to run it. \fIxspim\fP, however, is a much easier program to learn and use because its commands are always visible on the screen and because it continually displays the machine's registers. @@ -46,19 +46,19 @@ .SH OPTIONS \fIxspim\fP has many options: -.IP \fB-asm\fP 10 +.IP \fB\-asm\fP 10 Simulate the virtual MIPS machine provided by the assembler. This is the default. -.IP \fB-bare\fP 10 -Simulate a bare MIPS machine without pseudo-instructions or the +.IP \fB\-bare\fP 10 +Simulate a bare MIPS machine without pseudo\-instructions or the additional addressing modes provided by the assembler. Implies -\fI-quiet\fP. +\fI\-quiet\fP. -.IP \fB-exception\fP 10 +.IP \fB\-exception\fP 10 Load the standard exception handler and startup code. This is the default. -.IP \fB-noexception\fP 10 +.IP \fB\-noexception\fP 10 Do not load the standard exception handler and startup code. This exception handler handles exceptions. When an exception occurs, SPIM jumps to location 0x80000080, which must contain code to service the @@ -66,29 +66,29 @@ the routine \fImain\fP. Without the startup routine, SPIM begins execution at the instruction labeled \fI__start\fP. -.IP \fB-quiet\fP 10 +.IP \fB\-quiet\fP 10 Print a message when an exception occurs. This is the default. -.IP \fB-noquiet\fP 10 +.IP \fB\-noquiet\fP 10 Do not print a message at exceptions. -.IP \fB-mapped_io\fP 10 -Enable the memory-mapped IO facility. Programs that use SPIM syscalls -to read from the terminal \fBcannot\fP also use memory-mapped IO. +.IP \fB\-mapped_io\fP 10 +Enable the memory\-mapped IO facility. Programs that use SPIM syscalls +to read from the terminal \fBcannot\fP also use memory\-mapped IO. -.IP \fB-nomapped_io\fP 10 -Disable the memory-mapped IO facility. +.IP \fB\-nomapped_io\fP 10 +Disable the memory\-mapped IO facility. -.IP \fB-delayed_branches\fP 10 +.IP \fB\-delayed_branches\fP 10 Simulate MIPS's delayed control transfers by executing the instruction after a branch, jump, or call before transferring control. SPIM's default is to -simulate non-delayed transfers, unless the -bare flag is set. +simulate non\-delayed transfers, unless the \-bare flag is set. -.IP \fB-delayed_loads\fP 10 -Simulate MIPS's original, non-interlocked load instructions. SPIM's default -is to simulate non-delayed loads, unless the -bare flag is set. +.IP \fB\-delayed_loads\fP 10 +Simulate MIPS's original, non\-interlocked load instructions. SPIM's default +is to simulate non\-delayed loads, unless the \-bare flag is set. -.IP "\fB-stext size\fP \fB-sdata size\fP \fB-sstack size\fP \fB-sktext size\fP \fB-skdata size\fP" 10 +.IP "\fB\-stext size\fP \fB\-sdata size\fP \fB\-sstack size\fP \fB\-sktext size\fP \fB\-skdata size\fP" 10 Sets the initial size of memory segment \fPseg\fP to be \fIsize\fP bytes. The memory segments are named: \fItext\fP, \fIdata\fP, \fIstack\fP, \fIktext\fP, and \fIkdata\fP. The \fItext\fP segment @@ -99,30 +99,30 @@ part of the address space called the \fIkernel\fP. The \fIktext\fP segment holds this code's instructions and \fIkdata\fP holds its data. There is no \fIkstack\fP segment since the system code uses the same -stack as the program. For example, the pair of arguments \fI-sdata +stack as the program. For example, the pair of arguments \fI\-sdata 2000000\fP starts the user data segment at 2,000,000 bytes. -.IP "\fB-ldata size\fP \fB-lstack size\fP \fB-lkdata size\fP" 10 +.IP "\fB\-ldata size\fP \fB\-lstack size\fP \fB\-lkdata size\fP" 10 Sets the limit on how large memory segment \fIseg\fP can grow to be \fIsize\fP bytes. The memory segments that can grow are \fIdata\fP, \fIstack\fP, and \fIkdata\fP. -.IP \fB-hexgpr\fP 10 +.IP \fB\-hexgpr\fP 10 Disply the general purpose registers (GPRs) in hexadecimal. -.IP \fB-nohexgpr\fP 10 +.IP \fB\-nohexgpr\fP 10 Disply the general purpose registers (GPRs) in decimal. -.IP \fB-hexfpr\fP 10 -Disply the floating-point registers (FPRs) in hexadecimal. +.IP \fB\-hexfpr\fP 10 +Disply the floating\-point registers (FPRs) in hexadecimal. -.IP \fB-nohexfpr\fP 10 -Disply the floating-point registers (FPRs) as floating-point values +.IP \fB\-nohexfpr\fP 10 +Disply the floating\-point registers (FPRs) as floating\-point values -.IP "\fB-file file\fP 10" +.IP "\fB\-file file\fP 10" Load and execute the assembly code in the file. -.IP "\fB-execute file\fP 10" +.IP "\fB\-execute file\fP 10" Load and execute the MIPS \fIexecutable\fP (a.out) file. Only works on systems using a MIPS processors. debian/README.source0000644000000000000000000000023411363311011011332 0ustar The file Documentation/cycle.ps for which there is no source (it is a scientific article about a variant of spim) has been removed from the original source.debian/xspim.desktop0000644000000000000000000000033712237162432011726 0ustar [Desktop Entry] Name=xSPIM Comment=Graphical MIPS32 Assembly language emulator Exec=xspim Icon=xspim Terminal=false Type=Application Categories=ComputerScience;Science;Education StartupNotify=True Keywords=emulator; MIPS; debian/rules0000755000000000000000000000074611363311011010243 0ustar #!/usr/bin/make -f %: dh $@ override_dh_installchangelogs: dh_installchangelogs ChangeLog get-orig-source: rm -rf get-orig-source || true mkdir get-orig-source uscan --no-symlink --download-current-version --destdir get-orig-source @set -x;cd get-orig-source;a=$$(ls *.tar.gz);tar xzf $$a;rm -f $$a;rm -f $$a;a=$$(basename $$a .tar.gz);rm $$a/Documentation/TeX/cycle.ps;tar cjf ../../$${a%-*}_$${a##*-}+dfsg.orig.tar.bz2 $$a rm -rf get-orig-source || true .PHONY: get-orig-sourcedebian/source/0000755000000000000000000000000012237503672010475 5ustar debian/source/format0000644000000000000000000000001411363311011011662 0ustar 3.0 (quilt) debian/spim.docs0000644000000000000000000000011111363311011010767 0ustar README Documentation/BLURB Documentation/SPIM.html Documentation/TeX/*.ps