Intel 8086 Emulator

JavaAssemblyEmulationLow-LevelSwingGradle GitHub

Turnstone walking along a pebble beach

Overview

A full emulator for the Intel 8086 microprocessor, built in Java. It parses and executes 8086 assembly programs and provides a Swing-based GUI for interactive use — making it a hands-on tool for learning how the 8086 works at the instruction level.

Features

  • Text editor built into the GUI for writing or loading assembly programs.
  • Full instruction set support including data movement, arithmetic, logic, shift/rotate, and control flow operations.
  • Variable declarations via db, dw, and dd directives (byte, word, double word).
  • Multiple value representations — registers and memory viewable in hex, binary, or decimal.
  • Execution modes: run all instructions at once, step through one at a time, or reset to initial state.

Technical Details

  • Built in Java with Gradle. Requires Java 25+.
  • Internally structured around an assembler pipeline, a CPU emulation core, and a register manager.
  • Sample 8086 assembly programs included in test_inputs/.