⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spim.html

📁 Spim软件的一些源码。其中有Xspim的
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<H2 align=center>Changes in Latest Version</H2><p align=left>The current version of <B>spim</B> is 7.3 (August 2006), which isa minor release that cleans up a number of bugs in 7.2:</p><ul>	<li>	<p align=left>Fix for flex 2.5.33 (internal change broke spim's scanner).</li><li><p align=left>Exception handler can be a semicolon-separated list of files that will be loaded in order. On Unix, SPIM_EXCEPTION_HANDLER environment variable is consulted before command line arguments.</li><li><p align=left>Memory corruption caused spim to crash when label was defined twice in succession.</li><li><p align=left>PCSpim updates register and memory display after a parse error while reading a file.</li><li><p align=left>Eliminated unnecessary null char between strings in list of strings produced by .asciiz.</li><li><p align=left>Makefiles (in spim/ and xspim/) now contain clearly defined paths for installing executables, exception handler, and man pages. The man pages are no longer installed by the &quot;make install&quot; command.</li><li><p align=left>Change psfig to epsfig in spim.tex (does anyone still use this obsolete documentation?).</li></ul><P align=left>The previous version of <B>spim</B> is 7.2.1 (August 2005), which isa minor release that cleans up a number of bugs in 7.1:</P><ul>	<li>	<P align=left>Fixed multiple problems in memory mapped IO in xspim and spim.	<span style="background-color: #FFFF00">(Note: to make programming uniform 	across all three platforms, memory mapped IO now follows&quot;Unix&quot; handling of 	carriage return (CR) and new line (NL) characters . On input, a CR is 	translated to a NL, and on output, a CR is printed after a NL. This was 	previously true for PCSpim and xspim, but not spim.)</span></P></li>	<li>	<P align=left>Fixed bug in indexed address computation in LW and SW 	instructions.</P></li>	<li>	<P align=left>Eliminated non-POSIX flags IUCLC and IXANY to facilitate port 	to Mac OS X.</P></li>	<li>	<P align=left>Use termios(3) library calls instead of IOCTLs to fix bug 	introduced in port from termio to termios struct.</P></li>	<li>	<P align=left>Test default case for jalr, without default $rd (=31).</P>	</li>	<li>	<P align=left>Trap handler in test extracted wrong bits from ExcCode field 	of Cause register.</P></li>	<li>	<P align=left>Pervasive restructuring of files to put 3 UIs (spim, xspim, 	PCSpim) in separate directories and cleanup organization and Makefiles.</P>	</li>	<li>	<P align=left>Use correct help file in install process.</P></li>	<li>	<P align=left>Added work-around for bug in flex 2.5.31 that left yytext_ptr 	undefined.</P></li>	<li>	<P align=left>Epilogue code restored $at register, then used a pseduo 	instructions that smashed it.</P></li>	<li>	<P align=left>Cleared filename when reinitializing PCSpim, which broke next 	reload command.</P></li></ul><P align=left>The previous version of <B>spim</B> is 7.1 (January 2005), which isa minor release that cleans up a number of bugs in 7.0:</P><ul>	<li>	<P align=left>Minor cleanup.</P></li>	<li>	<P align=left>Switched Windows installer to Microsoft .msi installer, from 	InstallShield.</P></li>	<li>	<P align=left>exceptions.s used wrong mask for exception cause field.</P>	</li>	<li>	<P align=left>Clearing the transmitter or receiver interrupt enable bits	also clear interrupt pending bits in Cause register.</P></li>	<li>	<P align=left>Code to poll for a console input character in X windows	blocked and prevented any output until input occured.</P></li>	<li>	<P align=left>Type of &quot;mul&quot; instruction was wrong, which lead to it being	printed without destination register.</P></li>	<li>	<P align=left>Print underlying instruction, not breakpoint.</P></li>	<li>	<P align=left>Unparing error that unparsed beq as beql.</P></li>	<li>	<P align=left>Eliminated dependence on obsolete termio.h in favor of POSIX	termios.h since Mac OS X doesn't have termio.h any more.</P></li>	<li>	<P align=left>Fix null pointer problem if no entries in registry.</P></li>	<li>	<P align=left>Turn off EXL bit after break instruction, since break is	handled by spim, not MIPS, code and the bit was never cleared.</P></li>	<li>	<P align=left>Set default path for exceptions.s to C:\Program Files\PCSpim,	the default installation directory.</P></li>	<li>	<P align=left>Test for SQRT.S used double constant, which failed on SPARC	(but not x86).</P></li></ul><P align=left>The previous version of <B>spim</B> is 7.0 (August 2004), which isa major release that contains a significant number of changes from version 6.5:</P><ul>  <li><P align=left>Upgraded simulator to MIPS32, Version 1 architecture (exceptdetails of FPU and memory).</P>  </li>  <li><P align=left>Exceptions and interrupts reimplemented, to make them closer to theactual hardware.</P>  </li>  <li><P align=left>Memory mapped IO console reimplemented to make it work properly.</P>  </li>  <li><P align=left>Implemented timer in CPU.</P>  </li>  <li><P align=left>Renamed &quot;trap&quot; to &quot;exception&quot; to correspond to MIPS terminology.</P>  </li>  <li><P align=left>Introduced short forms of command line arguments and dropped needfor &quot;-file&quot; argument.</P>  </li>  <li><P align=left>Major internal cleanup and reorganization of code to eliminateunused code and simplify implementation.</P>  </li>  <li><P align=left>PCSpim prompts about reinitialization when file reloaded.</P>  </li>  <li><P align=left>PCSpim lets user set font.</P>  </li>  <li><P align=left>Word align all segment boundaries and ensure sbrk returnsword-aligned addresses.</P>  </li>  <li><P align=left>Added new syscall (EXIT2_SYSCALL) that returns value from SPIM.</P>  </li>  <li><P align=left>Improved implementation of delayed load instructions.</P>  </li>  <li><P align=left>Refactored the test cases, so that endian-independent code is intt.core.s</P>  </li>  <li><P align=left>Many small bug fixes.</P>  </li></ul><P align=left>Outstanding bugs in 7.0:</P>  <ul>    <li><P align=left>The trap handler (exceptions.s) fails when the trappinginstruction is in the delay slot of a branch or jump. The trap handler returnsby simplemindedly adding 4 to the EPC (which is the branch's address in thiscase), so it does not return to the instruction executed after the trappinginstruction.</P>    </li>    <li><P align=left>Handling of newlines and carriage returns is inconsistent betweenplatforms. When a program prints a newline, PCSpim also prints a carriagereturn, spim and xspim don't. Or, is this consistent with the underlyingplatform?</P>    </li></ul><P align=left>&nbsp;</P><P align=left>The previous version of <B>spim</B> is 6.5 (January 2003), which contains thefollowing changes from version 6.4:</P><ul>  <li><P align=left>If started program is started with only one argument, assume it isa file name.</P>  </li>  <li><P align=left>Added Alt-F4 shortcut to PCSpim.</P>  </li>  <li><P align=left>Fixed trap.handler to return to instruction at EPC on interrupt. </P>  </li>  <li><P align=left>Fixed (real!) hardware exception on integer overflow in division.</P>  </li>  <li><P align=left>-trap_file did not properly parse argument in xspim.</P>  </li>  <li><P align=left>Fixed printing of error on last line without a carriage return.</P>  </li>  <li><P align=left>Print proper registers when printing hex FP numbers.</P>  </li>  <li><P align=left>Properly zero newly allocated memory.</P>  </li>  <li><P align=left>Added nops (addu $0, $0, 0) to trap handler, so that it worksproperly in bare mode!</P>  </li>  <li><P align=left>PCSPIM.HLP file was corrupted.</P>  </li></ul><P align=left>The previous version of <B>spim</B> is 6.4 (January 2002), which contains thefollowing changes from version 6.3:</P><ul>  <li><P align=left>PCSpim no longer shifts the focus of the register and datasegments when values change.</P>  </li>  <li><P align=left>Fixed bug in the expansion of USH pseudo-op.</P>  </li>  <li><P align=left>Add system calls for open, close, read, and write.</P>  </li>  <li><P align=left>Fixed the Configure file to work with Mac OSX.</P>  </li>  <li><P align=left>Made the REM pseudo-op require 3 arguments.</P>  </li>  <li><P align=left>Fixed PCSpim dumping code to dump contents of console window.</P>  </li>  <li><P align=left>Treat LUI's immediate value as unsigned, as it is not signextended.</P>  </li>  <li><P align=left>More error checking for malformed programs.</P>  </li>  <li><P align=left>Make symbol &quot;main&quot; as global.</P>  </li>  <li><P align=left>Avoid clearing last few bytes of data segments when they expand.</P>  </li>  <li><P align=left>Check that high-order 4 bits in jump instruction's PC match bitsin target PC.</P>  </li></ul><P align=left>The previous version of <B>spim</B> is 6.3 (January 2001), which contains thefollowing changes from version 6.2:</P><UL>  <LI>  <P align=left>PCSpim interface simplified to 4 fixed panes, similar to xspim,  which permit cut and paste. </P>  <LI>  <P align=left>PCSpim console stays on the screen after assembly program&nbsp;  terminates. </P>  <LI>  <P align=left>Comments in assembly source displayed in text segment. </P>  <LI>  <P align=left>NOP is standardized to sll $0 $0 0 (= 0x00000000) </P>  <LI>  <P align=left>Fixed several bugs and missed optimization in computing  immediate values in lw/sw instruction sequences. </P>  <LI>  <P align=left>High 2 bits in negative branch offsets were incorrect. </P>  <LI>  <P align=left>Display floating point registers with up to 18 digits of  precision. </P>  <LI>  <P align=left>New spim command (print_all_regs) prints all registers. </P>  <LI>  <P align=left>Minor changes to compile spim under cygwin for Windows. </P>  <LI>  <P align=left>Validate the range of immediate values in MIPS (but not pseudo)  instructions. </P>  <LI>  <P align=left>Fixed display of stack with non-word aligned $sp. </P>  <LI>  <P align=left>New flags:  <UL>    <LI>    <P align=left>-delayed-branches&nbsp; Simulate MIPS delayed control    transfers for branches, jumps, and calls </P>    <LI>    <P align=left>-delayed-loads Simulate MIPS non-interlocked loads.  </P></LI></UL></LI></UL><HR width="100%"><H2 align=center><B><FONT size=+2>Copyright</FONT></B></H2><P><b>spim</b> is copyrighted by James R. Larus and distributed under thefollowing conditions:</P><ul>  <li>You may make copies of <b>spim</b> for your own use and modify those  copies.</li>  <li>All copies of <b>spim</b> must retain my name and copyright notice.</li>  <li>You may not sell <b>spim</b> or distribute <b>spim</b> in conjunction with  a commercial product or service without the expressed written consent of James  Larus.</li></ul><P>THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIEDWARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OFMERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.</P><P>&nbsp;The DOS and Windows ports weredone by David A. Carley and are copyrighted by Morgan Kaufmann Publishers.</P><HR width="100%"><H2 align=center><B><FONT size=+2>SPIMSAL Note</FONT></B></H2><P><B>spimsal</B> is an old version of <B>spim</B> that ran on <Ahref="ftp://ftp.cs.wisc.edu/pub/spimsal/spimsal.zip">PCs running Windows 3.1</A>and <Ahref="ftp://ftp.cs.wisc.edu/pub/spimsal/SPIMSAL.macintosh.bin">Macintoshes</A>.<B>spimsal</B> implements an extended version of the MIPS instruction set and isbased on an old version of <B>spim</B>. It also does NOT run under Windows 95 orWindows NT.</P></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -