In this project, you will write a disassembler that reads MIPS machine instructions from a (simplified) binary executable file and prints each assembly language instruction to the screen.
Write your disassembler code in the provided C++ code skeleton, disassembler.cpp. All of your code will go in the disassembleInstr function.
Your disassembler only needs to support the MIPS instructions listed in comments in the code skeleton.
Your disassembler must precisely match the output in the sample output files, including all whitespace and formatting. Note that all constants are in decimal representation except PC values and jump and branch targets, which are in hexadecimal.
I have provided two MIPS references as well. We will follow the provided MIPS documentation for all shift instructions.