/x86-emulator

Simple proof-of-concept x86 emulator written in Rust

Primary LanguageRust

x86-emulator

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

Building

Dependencies

  • 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

Tests

In order to run the unit tests, use:

$ make test

Resources