MDK, the MIX development kit  
   

News
Download
Documentation
Mailing lists
MDK at SourceForge
CVS repository

Thanks to
SourceForge Logo

Latest news

What is the MIX?

MIX is Donald Knuth's mythical computer as described in his monumental work The Art Of Computer Programming. As any of its real counterparts, the MIX features registers, memory cells, an overflow toggle, comparison flags, input-output devices, and a set of binary instructions executable by its virtual CPU. You can programme the MIX using an assembly language called MIXAL, the MIX Assembly Language.

So, what's the use of learning MIXAL? The MIX computer is a simplified version of real CISC computers, and its assembly language closely resembles real ones. You can learn MIX/MIXAL as an introduction to computer architecture and assembly programming: see the MDK documentation for a tutorial on MIX and MIXAL.

 
 

What is the MDK?

The MIX Development Kit offers an emulation of MIX and MIXAL. The current version of MDK includes two applications:
  • mixasm A MIXAL compiler, which translates your source files into binary ones, executable by the MIX virtual machine.
  • mixvm A MIX virtual machine which is able to run and debug compiled MIXAL programs, using a command line interface with readline's line editting capabilities.
Using the MDK tools, you'll be able to
  • write, compile and execute MIXAL programs,
  • set breakpoints and run your programs step by step,
  • collect execution timing statistics,
  • trace executed instructions,
  • inspect and modify the MIX registers, flags and memory contents at any step,
  • simulate MIX input-output devices using the standard output and your file system.
See the MDK user's manual for a complete description of the toolkit. The MDK utils will run on any GNU/Linux box (see requirements) and, of course, are free software.

Planned features

MDK is currently under active development, and there are some planned additional features I have in mind, e.g.
  • allow MIXAL instructions as commands at the mixvm prompt,
  • ncurses based frontend,
  • GTK++/GNOME support,
Please, let me know which of these features would you like better.

Contact the author.

 
   
  last updated Sat Jan 6 15:35:39 CET 2001