An assembly simulator built in Rust.
- Run by CLI with
cargo run <INPUT_FILE>
- RISC-V
- Supports most of RV32IM and RV64IM
- Supports a few ecalls
- MIPS
- WIP
- Finish multiplication extension
- Figure out which CSRs to support
- Fix page table/TLB lol
- Instruction decoding + instruction fetches
- Distinguish between IMEM/DMEM
- Interrupts?
- Kernel memory?
- Fence instructions
- Configurable cache hierarchy, store buffers
- Standard library functions
- CLI configuration
- Support assembler relocation functions
- Display regfile, memory, and cache info
- Ability to poke values in registers, memory, etc. (add sources/causes to diff structs?)
- Provide debugger support a la GDB, possibly valgrind-like tools as well?
- Implement peephole optimizations + visualizations
- Add hints/warnings
- Run riscv compliance tests
- MIPS 32/64bit? whatever they're called?
- Atmel AVR
- ARM
- x86-64
- wasm
- some LLVM IR