Skip to content

zajacmarekcom/8086

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

8086 Emulator

8086 is an interpreter/emulator of the assembler for Intel's 8086 processor.

The application's primary goal is to allow writing an assembler code, compiling it, and running with a preview of values in the memory and registers.

The project is built as the Blazor WebAssembly application.

The made in the competition 100 Commitów

Assumptions / goals

The assumption for the project is to use memory space for data AND code. It means that I'm going to store encoded opcodes as the hex values in code space.

The first target of the implementation is to have foundation with covered: [ ] Parsing input code [ ] Encoder for 2-3 opcodes [ ] Mechanism to get the next opcode from memory [x] Update cells in memory and/or registry

I skip the problem of counting clock ticks for each opcode. I assume that each opcode requires one tick of clock. It'll allow build mechnism to run code step-by-step in simple way.

Architecture

Components

Memory

The plan assumes that the emulator allows use the full 1MB memory, by using Segments. Storing whole program in the memory opens posibility to implement full set of JMP instructions, what is not possible in implementations which don't store instructions under real addresses.

BIU

The unit to be broker between memory and executive unit. It's responsible for managing segment registers.

Parser

The idea behind parser is to take a lines of assembler code, identify the type of a instruction and put it into the memory, by BIU, to use it directly from the hex code.

Useful links

Contact

If you want to contact me, send a message to this e-mail address: contact@zajacmarek.com

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages