MARS

Software Screenshot:
MARS
Software Details:
Version: 3.6
Upload Date: 3 Jun 15
Distribution Type: Freeware
Downloads: 87

Rating: nan/5 (Total Votes: 0)

MARS stands for MIPS Assembler and Runtime Simulator and is a lightweight interactive development environment (IDE) for programming in MIPS assembly language, intended for educational-level use with Patterson and Hennessy's Computer Organization and

Features:

  • GUI with point-and-click control and integrated editor
  • Easily editable register and memory values, similar to a spreadsheet
  • Display values in hexadecimal or decimal
  • Command line mode for instructors to test and evaluate many programs easily
  • Floating point registers, coprocessor1 and coprocessor2. Standard tool: bit-level view and edit of 32-bit floating point registers (screenshot).
  • Variable-speed single-step execution
  • "Tool" utility for MIPS control of simulated devices. Standard tool: Cache performance analysis tool (screenshot).
  • Single-step backwards

What is new in this release:

  • We've finally implemented the most requested new feature: memory and register cells will be highlighted when written to during timed or stepped simulation! The highlighted memory/register cell thus represents the result of the instruction just completed. During timed or stepped execution, this is NOT the highlighted instruction. During back-stepping, this IS the highlighted instruction. The highlighted instruction is the next one to be executed in the normal (forward) execution sequence.
  • In conjunction with cell highlighting, we've added the ability to customize the highlighting color scheme and font. Select Highlighting in the Settings menu. In the resulting dialog, you can select highlight background color, text color, and font for the different runtime tables (Text segment, Data segment, Registers). You can also select them for normal, not just highlighted, display by even- and odd-numbered row but not by table.
  • Cool new Labels Window feature: the table can be sorted in either ascending or descending order based on either the Label (alphanumeric) or the Address (numeric) column. Just click on the column heading to select and toggle between ascending (upright triangle) or descending (inverted triangle). Addresses are sorted based on unsigned 32 bit values. The setting persists across sessions.
  • The Messages panel, which includes the Mars Messages and Run I/O tabs, now displays using a mono-spaced (fixed character width) font. This facilitates text-based graphics when running from the IDE.
  • The Mars.jar distribution file now contains all files needed to produce a new jar file. This will make it easier for you to expand the jar, modify source files, recompile and produce a new jar for local use. CreatMarsJar.bat contains the jar instruction.
  • The Help window now includes a tab for Acknowledgements. This recognizes MARS contributors and correspondents.
  • We've added a new system call (syscall) for generating MIDI tones synchronously, syscall 33. The original MIDI call returns immediately when the tone is generated. The new one will not return until the tone output is complete regardless of its duration.
  • The Data Segment display now scrolls 8 rows (half a table) rather than 16 when the arrow buttons are clicked. This makes it easier to view a sequence of related cells that happen to cross a table boundary. Note you can hold down either button for rapid scrolling. The combo box with various data address boundaries also works better now.
  • Bug Fix: Two corrections to the Keyboard and Display Simulator Tool. Transmitter Ready bit was not being reset based on instruction count when running in the kernel text segment, and the Status register's Exception Level bit was not tested before enabling the interrupt service routine (could lead to looping if interrupts occur w/i the interrupt service routine). Thanks to Michael Clancy and Carl Hauser for bringing these to my attention and suggesting solutions.
  • Bug Fix: Stack segment byte addresses not on word boundaries were not being processed correctly. This applies to little-endian byte order (big-endian is not enabled or tested in MARS). Thanks to Saul Spatz for recognizing the problem and providing a patch.
  • Minor Bug Fixes include: Correcting a fault leading to failure when launching MARS in command mode, clarifying assembler error message for too-few or too-many operands error, and correcting the description of lhu and lbu instructions from "unaligned" to "unsigned".

What is new in version 3.5:

  • Tutorial materials
  • Sample MIPS assembly program to run under MARS Fibonacci.asm

Requirements:

  • Java 2 Standard Edition Runtime Environment

Similar Software

Comments to MARS

Comments not found
Add Comment
Turn on images!