Wednesday 14 October 2009

MARS MIPS Assembly Simulator

Homepage: http://courses.missouristate.edu/KenVollmar/MARS/index.htm

Features:
• GUI with point-and-click control and integrated WYSIWYG text editor
• Easy set/removal of breakpoints using check boxes
• Easily editable register and memory values, similar to a spreadsheet
• Display values in hexadecimal or decimal
• Variable-speed execution
• Single-step backwards

(Click on pictures for a larger view)

1. Edit display is indicated by highlighted tab.
2, 3. Typical edit and execute operations are available through
icons and menus, dimmed-out when unavailable or
not applicable.
4. WYSIWYG editor for MIPS assembly language code.

1. Execute display is indicated by highlighted tab.
2. Assembly code is displayed with its address, machine code, assembly code, and the corresponding
line from the source code file. (Source code and assembly code will differ when pseudoinstructions have been used.)
3. The values stored in Memory are directly editable (similar to a spreadsheet).
4. The window onto the Memory display is controlled in several ways: previous/next arrows and a menu of
common locations (e.g., top of stack).
5. The numeric base used for the display of data values and addresses (memory and registers) is selectable between
decimal and hexadecimal.
6. Addresses of labels and data declarations are available. Typically, these are used only when single-stepping to
verify that an address is as expected.
7. The values stored in Registers are directly editable (similar to a spreadsheet).
8. Breakpoints are set by a checkbox for each assembly instruction. These checkboxes are always displayed and available.
9. Selectable speed of execution allows the user to “watch the action” instead of the assembly program finishing directly.

Source: http://www.cs.sunysb.edu/~cse220/Handouts/MARS.pdf (Accessed: 14/10/09)