https://github.com/moralcode/mars-mips
a fork of the MARS Mips Assembly and Runtime Simulator with some changes made
https://github.com/moralcode/mars-mips
assembly mars mips-assembly simulator simulators
Last synced: about 2 months ago
JSON representation
a fork of the MARS Mips Assembly and Runtime Simulator with some changes made
- Host: GitHub
- URL: https://github.com/moralcode/mars-mips
- Owner: MoralCode
- License: other
- Created: 2021-09-14T15:00:29.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-10-06T23:25:40.000Z (over 3 years ago)
- Last Synced: 2025-02-28T12:30:32.264Z (2 months ago)
- Topics: assembly, mars, mips-assembly, simulator, simulators
- Language: Java
- Homepage:
- Size: 3.54 MB
- Stars: 3
- Watchers: 3
- Forks: 3
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- License: license.txt
Awesome Lists containing this project
README
# MARS MIPS simulator
This is the source code provided with MARS (V4.5, Aug. 2014) downloaded from https://courses.missouristate.edu/KenVollmar/mars/download.htm
This version has been modified from the original and its code is hosted at https://github.com/MoralCode/MARS-MIPS
## Changelog
Some modifications have been made from the original source. See https://github.com/MoralCode/MARS-MIPS/releases for the full changelog and binary files for each release.## Custom Pseudo Operations
One of the major changes made to MARS in this repo has been the introduction of a mechanism for configuring a custom path to the "PseudoOps File". This file, which came with MARS as `PseudoOps.txt`, contains definitions for pseudo operations that substitute for other values. This allows you to create your own "shortcut" instructions, such as extending `addi` to support 32 bit immediate values (which is the default behavior).
### How to create custom files
1. make a copy of `PseudoOps.txt` from this repository and read over the documentation at the top regarding formatting of the file.
2. make any changes, or additions you want. if you are stuck, maybe try creating a test instruction called `dead` by adding the following line to the file
```
dead $t1 addi RG1, $0, 0xdead #Bitwise NOT (bit inversion)
```
3. Inside MARS, go to **Settings** at the top of the page and open the **Pseudo Operations...** menu. Click the button to change the file path and select the file that you modified in step 2.
4. Close MARS and reopen it. This causes MARS to load the instructions using your new file instead of the built-in one.