This is the legv8 assembly simulator for ECE 331 at UMass Amherst.
Minimum Requirements
Python 3 [the script installs the remaining requisite libraries] Use Homebrew to install Python3 if you are on MacOS.
Rust and Cargo [Rust's package manager. Install via rustlang website]
In order to install the simulator and use it, use the Source code option to download the directory needed to build the application on your computer.
Once you unzip the source and navigate to its inner folder, run the following command with your terminal:
sh run.sh
This will install the requirements for the simulator and run PyInstaller to create an executable.
Once the script is finished, you can run the application file in the dist folder within this inner folder [i.e. app.exe
for Windows, app.app
for MacOS], and this will let you run the application.
You can open files with the Open File option, and select a file with .s or .legv8 with valid LEGV8 assembly to run it. You can step or reset, and all the text entry fields let you add values for memory or registers in the respective views. Errors show up in the errors section on the simulator and deeper errors with the program go in the logfile that is in the dist directory after the app runs. You must hit return to confirm your edits to any registers or memory.
Note that you need to enter arrays in manually for running code on arrays, with addressing done manually. A config file system is planned for next release.
Error Reporting
You can open an Issue on GitHub here and add screenshots of the simulator and logfiles or contact me at aramachandra[at]umass[dot]edu with this information if there's a deeper error with your code running with the simulator.