Run this command on the command line clone the repo.
git clone https://github.com/acm-uncc/mipsvm.git
- Find an instruction here that is not already implemented (or pick one from our list below)
- git branch (instruction name)
- git checkout (instruction name)
- Identify instruction layout
- Create function with op_ + function name
- First argument to function will be MIPS32_VM& vm
- Other arguments will be instruction layout (except for the first section)
- Implement function according to what the page says
- Go to op_handlers array, find the opcode (first number) that corresponds to a number on the list
- Change nullptr with the name of the function you implemented like reinterpret_cast(name)
- Go to here
- Figure out type of instruction based on page 73
- Look through enum of OP_TYPE
- Go to op_types array and find the opcode of your function
- Replace UNIMPLEMENTED with OP_TYPE
- git add .
- git commit -m "Add (instructin name)"
- git push origin master
- Go to the repository then the Pull requests tab
- Hit new pull request
- Select your branch
- Create pull request and mention which instruction you did in the title
- MULT
- DIV
- AND
- OR
- SLL
- SRL
- XORI
Please ask in the ACM Discord if you have any questions.