Welcome to HexaMIPS - your ultimate MIPS architecture emulator! This project aims to emulate a small, simple subset of the MIPS architecture, making it a valuable resource for understanding and experimenting with MIPS instructions.
π Highly Accurate Emulation: HexaMIPS provides an accurate emulation environment for a subset of the MIPS architecture, ensuring your code runs as expected.
π§ Flexible Input: Accepts 32-bit hexadecimal instructions from various sources, making it easy to test your MIPS programs.
π Instruction Set Support: HexaMIPS supports a range of MIPS instructions, including ADD, SUB, AND, OR, SLT, MUL, BEQ, BNE, ADDI, SLTI, ANDI, ORI, and LUI.
π‘ Clear Output: HexaMIPS generates clear and informative output, making it easy to understand the results of your MIPS code.
π Syscall Support: Handle syscalls gracefully with HexaMIPS, ensuring your programs can interact with the operating system.
To get started with HexaMIPS, follow these simple steps:
-
Clone this repository to your local machine.
git clone https://github.com/your-username/hexamips.git
-
Compile the code using your preferred C compiler.
gcc hexamips.c -o hexamips
-
Run HexaMIPS with a MIPS instruction file.
./hexamips input.hex
-
Explore the generated output and register values after execution.
Here's a quick example of using HexaMIPS:
$ ./hexamips example.hex
Program
0: add $3, $0, $0
1: addi $4, $0, 10
2: beq $3, $4, 7
3: add $2, $3, $4
4: sub $5, $4, $3
5: slt $6, $2, $3
6: and $7, $2, $4
7: or $8, $2, $5
Output
10
Registers After Execution
$2 = 10
$3 = 0
$4 = 10
$5 = 10
$6 = 0
$7 = 0
$8 = 10
Contributions to HexaMIPS are welcome! Feel free to open issues, submit pull requests, or provide feedback to help us improve this project.
This project is licensed under the MIT License - see the LICENSE file for details.
GitHub Stars GitHub Forks
Give HexaMIPS a βοΈ if you found it useful!
Β© 2023 HexaMIPS Team