GNU MDK: The MIX Development Kit

Price 16.21 USD

EAN/UPC/ISBN Code 9781882114627


The MIX is a mythical computer designed by Donald Knuth in his monumental work "The Art Of Computer Programming". MIXAL, the MIX Assembly Language, is the assembler language used to program it. You can learn about MIX and MIXAL as an introduction to computer architecture and assembly programming, as a companion to Knuth"s book, or just for fun. The MIX system was brought to life by Jose Antonio Ortega Ruiz, who wrote the program following Knuth"s design. The MIX"s architecture is a simplified version of real CISC CPUs. It features registers, memory cells, an overflow toggle, comparison flags, input-output devices, and a set of binary instructions executable by its virtual CPU. It is powerful and complete enough to provide a virtual development platform for writing quite complex programs, and useful for learning new programming techniques. The following tools come with MDK: * mixasm A MIXAL assembler to run and debug MIXAL source code * mixvm A MIX virtual machine emulation using a command line interface * gmixvm A GTK+ GUI graphical interface for the MIX * mixguile A Guile shell with an embedded assembler and built-in Scheme commands * mixvm.el A Lisp program to run mixvm inside of an Emacs GUD buffer, allowing concurrent editing and debugging of MIXAL programs These tools allow you to: * set breakpoints, run programs step by step, trace executed instructions (great for debugging and learning) * set conditional breakpoints (register change, memory change, and more) * collect execution timing statistics * inspect and modify the MIX registers, flags and memory contents at any step This tutorial provides a thorough description of the MDK utilities. The latest version of the GNU MDK is easily downloadable from the Internet free of charge [instructions inside]. Executables exist for a wide range of free software platforms, as well as MS Windows and Macintosh.