MMIX Graphical Debugger

Table of Content


A Graphical Debugger for MMIX

Last updated: November 18 2008

Here you can download a simple JAVA program built on top of mmixal and mmix to graphically debug programs. The program is in prototype-stadium and comes with absolutely no warranty. Yet it has been tested on Windows (2000/XP), MacOSX and Linux machines. At the moment, the program is not very user friendly; nor exists a user manual or documentation beyond this page.

To run it, you need a working installation of the mmix-tools (try typing mmixal and mmix which should produce usage messages of both programs).The program just starts assembler and simulator in separate processes and communicates to them via their normal commands.

Start the debugger with (java -jar mmmixdebugger.jar). You should be asked for an MMIX-Sourcefile: select one that assembles without errors. It will immediately be assembled (with the options -x -l name.mml) and started. If this does not work, try to edit the path= -entry in the mmix.config and let path point to the directory of your mmix executables. If this does not help, there is unfortunately not much of help :-((

If this works, the main window will pop up. The item "Options" just provides some simple dialog to enter commandline arguments (save project and restart to make them take effect). But you can load a new Sourcefile via Project->new. Use the buttons to control simulation. "Next" and "Continue" are the commands known from the simulator. "Step Over" ´can be used to step over PUSHJ-subroutines. It will set a breakpoint just after the subroutine and then run to that breakpoint (however, this will not work with recursive calls).

A second window contains the assembler listing and will display a bar of which command has just been executed.You can set breakpoints withit.

The third window displays data of the simulation as you require. At start-up it contains 5 views into MMIX. You can add more views into the memory via a context menu that can be reached just below the top window frame border. Scroll line-by-line with the "<" and ">"-buttons - and view-by-view with ">>" and "<<". You can add breakpoints via context menu on the data (Content-column).

The program maybe freely distributed. Contributions welcome!

If you have comments or suggestions please send me an e-mail.

Many thanks to Florian Schmidt who has done a major part of the programming work.

Please help to keep this site up to date! If you want to point out important material or projects that are not listed here, if you find errors or want to suggest improvements, please send email to email