MARS
TMARS 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 Design. MARS features:
- GUI with point-and-click control and integrated editor
- Easy set/removal of breakpoints using check boxes
- Easily editable register and memory values, similar to a speadsheet
- Display values in hexadecimal or decimal
- Command line mode for instructors to test and evaluate many programs easily. Command-line arguments to specify registers and memory locations to be displayed after the program run, to examine for correct contents. Set up a "batch" to do many programs in succession.
- Floating point registers, coprocessor1 and coprocessor0
- Variable-speed execution
- "Tool" utility for MIPS control of simulated devices. A tool is a program running on a separate thread with access to MARS data. An assembly program can run in MARS and interact with the tool through memory-mapped IO. Any imaginable pseudo-device can be interfaced to MIPS assembly code, or extended to physical devices or hardware.
You can download MARS and find tutorial material at the MARS website.