At a glance

Messy Lab is a free, open-source Integrated Development Environment (IDE) for Assembly Languages.

The primary goal for Messy Lab is to provide an intuitive environment for the students of Computer Sciences and Software Engineering, where they can safely and comfortably learn the basics of Assembly programming. The interface is designed to be user-friendly and immediately familiar to anyone who used one of the more popular development environments before.

By providing a familiar surrounding, Messy Lab allows its users to focus on the challenges of the assembly programming itself, instead of wasting the effort on getting used to hostile-seeming environments provided by some of the other assembler development solutions.

  • Seamless user experience with integrated editing, assembling and debugging capabilities
  • Support for Historical Debugging, e.g. “Step Back Into” functionality
  • Assembler and Virtual Machine for the picoComputer processor architecture with full integration
  • Extendable code-base that allows the support for new assembly languages to be added easily
  • Common tools that are expected in a modern IDE (syntax-highlight, etc.)


picoComputer is a computer architecture designed to aid teaching of assembly languages.

Even though it is very simplistic and relatively old, picoComputer is still relevant today. The basic principles of the computer technology didn't change much, if at all, since its inception and when it comes to assembly programming, the picoComputer architecture is capable of demonstrating those very principles.

That is why the picoComputer was selected to be the first platform supported by Messy Lab.

On-the-fly assembling

The code editor features On-the-fly assembling of the source code which means that the your code is being processed as you type.

The generated machine code is displayed along side with the source code, making it easy to see the direct link that exists between the symbolic representation of the machine code (i.e. the source code) and its actual binary form.


Messy Lab comes with its own debugger. It is well integrated within the environment, but it can be used as a stand-alone command-line (CLI) application as well.

The CLI flont-end uses commands similar to those of GDB, so anyone familiar with GDB should feel right at home.

Finally, with the support of the underlying execution environment, e.g. a virtual machine, the debugger features historical, or backwards execution.


Messy Lab is distributed under the Apache License. That essentially means that you are free to use the app and its source code any way you like. So, if you're familiar with C#, grab your copy of the code and start exploring.

You are not required under the license to publish any modifications you make to the source, but contributing bug fixes and new features would be appreciated.