MipsWeaver is an all-purpose assembler and interpreter library for the MIPS assembly language.
Usage of this library requires the Rust compiler to be installed.
Executing a MIPS program:
cat mips.asm | cargo runBuilding documentation:
cargo docRunning integration and doc tests on the library:
cargo testThe MIPS reference is available on
- Volume I Introduction to the MIPS32 Architecture
- Volume II Instruction Set Manual
- Volume III Priveleged Resource Architecture
- All MIPS32 Instructions defined between Release 1 and Release 6
- Excluding the exceptions in unimplemented features
- Feature spreadsheet can be seen here
- Binary encoding of instructions
- Compile to ELF format file
- Interactive MIPS parser with WebAssembly (crate to be developed later)
- Disassembler
- Coprocessor 2 (behavior is left undefined by specification).
- Simulator of Translation Lookaside Buffer (TLB)
- Simulator of memory caching (does not change output)
- Execution not implemented yet: (TLB instructions),
rdhwr,rdpgpr,wrpgpr,jalx,c.cond.fmt,evp,dvp,eret,deret,ctc1,cfc1,bc1f,bc1t.
This project is under the MIT license.