Source code of MARS Assembler
First commit of the 4.5 version (latest version available)
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
<html>
|
||||
<title>MARS 4.5 help contents
|
||||
</title>
|
||||
<body>
|
||||
<center>
|
||||
<h3>MARS - Mips Assembly and Runtime Simulator</h3>
|
||||
<h4>Release 4.5</h4>
|
||||
<h4>August 2014</h4>
|
||||
|
||||
<h4>Operating Requirements</h4>
|
||||
</center>
|
||||
<p>MARS is written in Java and
|
||||
requires at least Release 1.5 of the J2SE Java Runtime Environment (JRE) to work.
|
||||
The graphical IDE is implemented using Swing. It has been
|
||||
tested on Windows XP, Vista and 7; Mac OS X; and is also being used under Linux.
|
||||
|
||||
<center>
|
||||
<h4>Some MARS Assembler and Simulator Limitations</h4>
|
||||
</center>
|
||||
|
||||
Releases 3.0 and later assemble and simulate nearly all the MIPS32 instructions documented in the
|
||||
textbook <i>Computer Organization and Design, Fourth Edition</i> by Patterson and Hennessy,
|
||||
Elsevier - Morgan Kaufmann, 2009. All basic and pseudo instructions, directives,
|
||||
and system services described in Appendix B are implemented.
|
||||
|
||||
<p>Limitations of MARS as of Release 4.5 include:
|
||||
<ul>
|
||||
<li>Memory segments (text, data, stack, kernel text, kernel data) are limited to 4MB each starting at their
|
||||
respective base addresses.</li>
|
||||
<li>There is no pipelined mode (but delayed branching is supported).</li>
|
||||
<li>If you open a file which is a link or shortcut to another file, MARS will <em>not</em>
|
||||
open the target file. The file open dialog is implemented using Java Swing's JFileChooser,
|
||||
which does not support links.</li>
|
||||
|
||||
<li>Very few configuration changes, besides those in the Settings menu, are saved from one session to the next.
|
||||
The editor settings, which include font settings and display of line numbers, are saved.</li>
|
||||
|
||||
<li>The IDE will work only with the MARS assembler. It cannot be used
|
||||
with any other compiler, assembler, or simulator. The MARS assembler and simulator
|
||||
can be used either through the IDE or from a command prompt.</li>
|
||||
|
||||
<li><em>Bug:</em>The error message highlighter does not automatically select the code for the first assembly
|
||||
error if the file containing the error is not open at the time of assembly (assemble-on-open, assemble-all).</li>
|
||||
|
||||
<li><em>Bug:</em> The Screen Magnifier screen capture feature does not appear to work properly under Windows Vista.</li>
|
||||
|
||||
<li><em>Bug:</em> There appears to be a memory leak in the Editor. Several different people have independently
|
||||
reported the same behavior: severe slowdown in editor response during an extended interactive session.
|
||||
If MARS is exited and restarted, this behavior disappears and the editor responds instantly to actions.</li>
|
||||
|
||||
<li><em>Not a bug, but documented here anyway:</em> MIPS Branch instruction target addresses are represented by
|
||||
the relative number of words to branch. With Release 3.4, this value reflects delayed branching,
|
||||
regardless of whether the Delayed Branching setting is enabled or not.
|
||||
The generated binary code for branches will now match that of examples in the <em>Computer Organization
|
||||
and Design</em> textbook. This is a change from the past, and was made after extensive discussions
|
||||
with several faculty adopters of MARS. Previously, the branch offset was 1 lower if the Delayed Branching setting
|
||||
was enabled -- the instruction <tt>label: beq $0,$0,label</tt> would generate <tt>0x1000FFFF</tt> if
|
||||
Delayed Branching was enabled and <tt>0x10000000</tt> if it was disabled. Now it will generate <tt>0x1000FFFF</tt> in
|
||||
either case. The simulator will always branch to the correct location; MARS does not allow assembly under one
|
||||
setting and simulation under the other to occur.</li>
|
||||
</ul>
|
||||
<p>
|
||||
<hr>
|
||||
<p>
|
||||
This document is available for printing on the MARS home page
|
||||
<tt><b>http://www.cs.missouristate.edu/MARS/</b></tt>.
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user