a live 8086 + 8087 computer
2 instr/s
CS:IP
FFFF:0000
clocks
0
instr
0
speed
—

Software

Ready.

    Machine views

    Machine state

    8086 registers

    8087 stack

    SW 0000

      Stack SS:SP

        I/O ports

          Edit file

          A:\

          How to use 8086 Anatomy

          Start here: press ▶ Explain (above the view) for a guided story: a short program runs one step at a time on the 3D board, and a caption tells each step. Or write a program at the left, press Assemble & load, and then Run or Next.

          The views

          Board
          The motherboard and its chips. The switch at the top left of the view shows it three ways: 3D, Top (all the chips from above, always open) or Runner (a camera that runs with each signal). The colors: address (cyan), data (gold), control (pink), FPU (violet). Open chips takes the lids off, so you see the dies.
          Die
          The floor plan of the CPU chip (and its FPU): each unit and its values.
          Bus timing
          A logic analyser: each signal of the bus, clock by clock.
          Memory
          The map of the addresses, the parts that the program reads and writes, and the bytes.
          3D mouse
          Drag: move the view. Right-drag or Shift+drag: turn it. Wheel: zoom to the pointer. Double-click a chip: focus on it; Esc leaves the focus.
          Top mouse
          Drag: move. Wheel or +/−: zoom. Double-click a chip: fill the view. Esc: see all.

          The trace

          With Trace on (in the top bar), each instruction plays as steps. The text under the view tells each step; Back, Next and Skip are at its right. The list button shows all the steps of the instruction, and the options button sets how the trace shows loops and code fetches.

          Keys

          F5
          Run or pause
          N or . or Space
          Next step (outside the editor); without the trace, the next instruction
          B or ,
          Back one step
          S
          Skip: step over a CALL, an INT or a loop
          F8
          Step one instruction
          Shift+F8
          Step one clock
          F9
          Set or remove a breakpoint on the cursor line (or click a line number)
          Ctrl+Enter
          Assemble and load
          Ctrl+R
          Reset
          1–6
          The Board as 3D, Top or Runner (1–3), then Die, Bus timing, Memory (4–6), outside the editor
          [ / ]
          Hide or show the program pane / the state dock
          F, Esc
          Expand the view to the whole window, and back
          In Explain
          Space pause · → next part · ← the part before · R replay · Esc exit

          Machines, disks and the screen

          Click the title to choose the machine (8086, 80286, 80386, 80486, Pentium or Pentium Pro) and the graphics card (CGA or VGA). The page loads again; your program and your disks stay.

          To run an operating system, open Disks, load a bootable floppy image (for example your own MS-DOS disk) into drive A:, put programs on drive B: with Add files, and press Boot from A:. The images stay in this browser.

          The screen is under the program. Click it and type to send keys to the machine; while the screen has the focus, all keys go to the machine. Its buttons open a keyboard (for phones), detach it, open it in its own window, or hide it. The speaker button in the top bar opens the Sound menu.

          This is an original educational simulation. The board layouts are inspired by the IBM PC and AT class machines. The BIOS is original code; INT 21h is a tiny DOS-like subset for convenience. The 8086 instruction results were checked against 640,744 real hardware test cases.