/HexaMIPS-The-MIPS-Emulation-Marvel

🌟 Explore the mesmerizing world of MIPS assembly with MIPS-Emulator! Execute 32-bit instructions, track register states, and dive into the art of automation. Experience the power of emulation in this captivating MIPS emulator. 🚀

HexaMIPS: The MIPS Emulation Marvel

HexaMIPS Logo

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.

HexaMIPS in Action

Features

🚀 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.

Getting Started

To get started with HexaMIPS, follow these simple steps:

  1. Clone this repository to your local machine.

    git clone https://github.com/your-username/hexamips.git
  2. Compile the code using your preferred C compiler.

    gcc hexamips.c -o hexamips
  3. Run HexaMIPS with a MIPS instruction file.

    ./hexamips input.hex
  4. Explore the generated output and register values after execution.

Example

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

Contributions to HexaMIPS are welcome! Feel free to open issues, submit pull requests, or provide feedback to help us improve this project.

License

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