The Little Man Computer VB.NET version
The LMC Simulator  - VB.NET version

This MS Windows version can be downloaded with no restrictions (requires Microsoft.NET Framework 4): (version 3.3).

There is also an installation guide for a lmc.exe version that might be more suitable for school networks.


  • The Little Man Computer screenUses the same instruction set as the version.
  • Loads and saves assembly language programs as text files.
  • Supports labels for both branching and data.
  • Supports indentation making code easier to follow.
  • Does not remove the original code when assembly takes place.
  • Features both a STEP and a RUN mode and the ability to switch between them while a program is running.
  • In STEP mode, the 'Little Man' explains the next instruction before it is executed.
  • Allows assembly language programs to be pasted directly into the program window.
  • Allows programs to be copied from either text window for use in reports.
  • Run mode is faster than the version.
  • Allows line annotation such as: loop LDA value1    // Start of main loop.
  • Produces an assembly language version without labels or annotation, makes it easier to understand the assembled code in RAM.
  • A guide to the LMC screen - click to enlargeINPUT is via an 'input device' rather than the keyboard, allowing integer values in the range -999 to 999.
  • Multi-line output makes it easier to follow programs that have more than a single output.
  • 'Machine Code' instructions in RAM can be edited directly (the U button will update any changes to the current instruction).


  • version 3.3 - RESET button added making it possible to reset the program counter without having to assemble the program again.
  • version 3.2 - improved line annotation facility, any annotation can be added to the end of a line.
  • version 3.1 - implemented negative DAT and INPUT values.
  • version 3.0 - ASSEMBLE button altered to more accurately reflect what it does.
  • version 2.9 - set the overflow of numbers less than -999 to match the version
    (if accumulator < -999 Then accumulator = accumulator + 1999).  Note, some LMC versions store negative numbers using the 10's complement of the number and don't allow negative numbers to be stored as such.
  • version 2.8 - swapped the positions of the INPUT and the OUTPUT to aid data entry.