Quick Navigation:
- Description
- How to run the project locally ?
- How it came to be ?
- Features different from other editors
- Technologies used
- License
- Author
This project is an Intel 8086 emulator / vm that can run most of the 8086 instruction set and provides an interactive interpreter to run the program line by line. The repository contains the core library, which includes the preprocessor, data parser, and interpreter.
Features:
- Emulates most of the 8086 instruction set
- Provides an interactive interpreter to run the program line by line
- Includes a preprocessor to expand macros and resolve labels
- Includes a data parser to convert the preprocessed assembly language code into a data structure that can be understood by the interpreter
- Includes an interpreter to execute the assembly language code one line at a time
Brief Overview:
Using rust
as the backend for driving the emulator and react
as the frontend for the web app, the project is divided into two parts:
-
core: The core library that contains the preprocessor, data parser, and interpreter, this is the
src-tauri
folder. -
ui: The web app that provides an interactive interface to run the emulator, this is the
src
folder.
- Clone the repository
git clone https://github.com/Sarath191181208/emu_8086
- Install the dependencies
cd emu_8086
npm i
- Run the project
npm run tauri dev
In collage we have a course called Computer Organization and Architecture. It was a course where you know how the computers came to be and how they work in different ways. How the processor works, how the memory, disk, etc work. We also have a project where to have to build a simple assembly program which is given as a problem statement by our professor. Intrigued by how the 8086 and how it works, I tried to make it from scratch. Altough I didn't have enough hardware, I sought to make it in software. I started with the preprocessor, then the data parser, and finally the interrupts.
- The emulator is written in rust, which is a fast and safe language.
- High focus on the editing experience.
- Easy and redable syntax highlighting.
- Easy to use and interactive interface.
- Provides an interactive interpreter to run the program line by line.
- Easy and intuitive way to debug the program.
This project has been licensed under MIT License. Please see the LICENSE file for more details.