mipsy
所属分类:嵌入式/单片机/硬件编程
开发工具:Rust
文件大小:0KB
下载次数:0
上传日期:2023-06-28 13:05:15
上 传 者:
sh-1993
说明: 以教育为中心的MIPS Emulator,用Rust.编写。,
(Education-focused MIPS Emulator written in Rust.,)
文件列表:
Cargo.lock (45231, 2023-09-13)
Cargo.toml (495, 2023-09-13)
crates/ (0, 2023-09-13)
crates/mipsy/ (0, 2023-09-13)
crates/mipsy/Cargo.lock (8211, 2023-09-13)
crates/mipsy/Cargo.toml (883, 2023-09-13)
crates/mipsy/build.rs (469, 2023-09-13)
crates/mipsy/src/ (0, 2023-09-13)
crates/mipsy/src/main.rs (20171, 2023-09-13)
crates/mipsy_codegen/ (0, 2023-09-13)
crates/mipsy_codegen/Cargo.toml (370, 2023-09-13)
crates/mipsy_codegen/src/ (0, 2023-09-13)
crates/mipsy_codegen/src/lib.rs (10765, 2023-09-13)
crates/mipsy_instructions/ (0, 2023-09-13)
crates/mipsy_instructions/Cargo.toml (225, 2023-09-13)
crates/mipsy_instructions/src/ (0, 2023-09-13)
crates/mipsy_instructions/src/base.rs (5674, 2023-09-13)
crates/mipsy_instructions/src/lib.rs (11157, 2023-09-13)
crates/mipsy_instructions/src/meta.rs (5930, 2023-09-13)
crates/mipsy_interactive/ (0, 2023-09-13)
crates/mipsy_interactive/Cargo.toml (1307, 2023-09-13)
crates/mipsy_interactive/src/ (0, 2023-09-13)
crates/mipsy_interactive/src/interactive/ (0, 2023-09-13)
crates/mipsy_interactive/src/interactive/commands/ (0, 2023-09-13)
crates/mipsy_interactive/src/interactive/commands/breakpoint.rs (23534, 2023-09-13)
crates/mipsy_interactive/src/interactive/commands/commands.rs (3665, 2023-09-13)
crates/mipsy_interactive/src/interactive/commands/context.rs (2303, 2023-09-13)
crates/mipsy_interactive/src/interactive/commands/disassemble.rs (1570, 2023-09-13)
crates/mipsy_interactive/src/interactive/commands/dot.rs (2664, 2023-09-13)
crates/mipsy_interactive/src/interactive/commands/examine.rs (10673, 2023-09-13)
crates/mipsy_interactive/src/interactive/commands/exit.rs (418, 2023-09-13)
crates/mipsy_interactive/src/interactive/commands/help.rs (5933, 2023-09-13)
... ...
# Mipsy
A MIPS32 emulator, written in Rust.
Mipsy is entirely intended for educational purposes - it is by no means a complete, correct, or rigorous implementation of the MIPS32 specification. It tries to implement *most* common MIPS32 \[psuedo\]instructions, with correct behaviour, however many features are left out in the interests of simplicity, agility of development, and a keen focus on educational value.
Note that mipsy focuses *specifically* on the education of assembly programming, as opposed to the education of hardware, or how hardware functions. It is suited for introductory systems-programming courses, where students can learn a simple assembly language such as MIPS, in a simulator that attempts to provide helpful feedback, powerful debugging tools, and pre-empt common bugs -- all of which aim to give the student a better learning experience.
## Features
Features you will NOT find include:
- Delay slots
- Big-Endian mode
- Kernel mode
- An extensive trap file
- Conditional Branch Likely Instructions
- **Floating point support** (yet -- planned for future)
- ... more to be included here ...
Features you (hopefully) will be pleased to find in mipsy:
- Helpful and explanatory compilation errors
- Helpful and explanatory runtime errors
- Runtime checks - uninitialized memory, registers, etc.
- A powerful and intuitive debugger with readline support
- Time travel debugging
- Wasm in-browser client (a la QtSpim)
- ... more to be included here ...
This project is a work-in-progress, but is in a reasonably usable state -- make sure you understand what mipsy does and does not provide before deciding if it is right for you!
## Installation
1. Install the latest stable rust toolchain with `rustup` at https://www.rust-lang.org/tools/install
2. `git clone https://github.com/insou22/mipsy.git && cd mipsy`
3. `cargo build --package mipsy` will build a binary for your machine into `./target/debug/mipsy`
4. Run mipsy using `./target/debug/mipsy [mips_file]`
5. (Optional): Build an optimized release version with `cargo build --release --package mipsy`. Your binary will be in `./target/release/mipsy`
近期下载者:
相关文件:
收藏者: