x86-emulator is a simple proof-of-concept 32-bit x86 emulator written in Rust. It is an educational project with the goal of being able to run an unmodified, Linux ELF32 32-bit Hello World executable in a similar vein as EPIC OS.
This project will only ever implement a tiny subset of the x86 ISA required to accomplish the goal (and likely a bit more).
- Rust nightly
- nasm
Rust nightly is required due to the use of inline assembly in certain tests. This requirement will be alliviated in the future.
Once you have installed the dependencies, simply run:
$ make run
In order to run the unit tests, use:
$ make test