Thanks to your support, 2015 marks 30 years of the FSF! In the next 30 years, we want to do even more to defend computer user rights. To kick off in that direction, we're setting our highest-ever fundraising goal of $525,000 by January 31st. Read more.

$525K
30% (159K)
Count me in

GNU MIX Development Kit (MDK)

GNU MDK 1.2.8  
August 2014, changes  

Table of Contents

  • What is MIX/MIXAL?
  • What is GNU MDK?
  • Downloading the stable release
  • Hacking the development source tree
  • Exit points

What is MIX/MIXAL?

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 program 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 GNU MDK?

MDK (MIX Development Kit) offers an emulation of MIX and MIXAL. The current version of MDK includes the following applications:

Using the MDK tools, you'll be able to

In addition, the MIX virtual machine simulators include an embedded Guile interpreter and, therefore, their functionality can be extended using Scheme.

See the GNU MDK user's manual for a complete description of the toolkit. The MDK suite will run on any GNU or FreeBSD box (see suported platforms) and, of course, is free software.

Downloading stable releases

The GNU MDK source tarball can be found at GNU's FTP site (or any of its mirrors).

MDK is part of the Debian GNU/Linux distribution and can be installed using apt-get. Fink packages (for the CLI and GUI) and a MacPort are also available.

The user's manual is distributed with the source tarball in texinfo format, which is converted to info files during the installation process. It is also available in a variety of formats in the documentation section.

The development source tree

As of March 2008, the source tree of MDK is maintained in a git repository at Savannah with the following coordinates:

You can get the sources using the following incantation:

    git clone git://git.sv.gnu.org/mdk.git

or, for those of you behind a firewall,

    git clone http://git.sv.gnu.org/r/mdk.git

For more information on using git, see this tutorial or this Savannah help page.

Further links

 [FSF logo] “Our mission is to preserve, protect and promote the freedom to use, study, copy, modify, and redistribute computer software, and to defend the rights of Free Software users.”

The Free Software Foundation is the principal organizational sponsor of the GNU Operating System. Support GNU and the FSF by buying manuals and gear, joining the FSF as an associate member, or making a donation, either directly to the FSF or via Flattr.

back to top

Translations of this page