The virtual machine simulates the structure of MIPS-32 processor and can run the machine language program produced by the assembler. Our machine is able to do the following:
1- Provide a GUI to allow the user to see the status of the Program Counter, MIPS registers (or at least the important ones), the relevant part of the memory (were used variables are stored) and the currently executing instructions and its type (R, I, J), parts like opcode, registers, etc.
2- The machine will have buttons to execute the next instruction or the entire program.
3- Make the following assumptions:
Memory has only two segments: Text (Program) segment and Data segment.
The program is always loaded starting from memory location 0. (Start of text segment)
Data is stored starting from memory location 0x00001000. (Start of Data segment)