<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>

  <head>
    <title>MIX Development Kit</title>
  </head>

  <body bgcolor="white" link="#ff0000" vlink="#a00000">
    <a  name="top"></a>
    <table  cellspacing="0" cellpadding="5" border="0" align="center">
	<tr>
	  <td width="100" bgcolor="#696969">&nbsp;</td>
	  <td bgcolor="#696969" width="600" align="center"> 
	    <font color="white"><b>MDK, the MIX development kit</b></font>
	  </td>
	  <td bgcolor="#696969" width="10">&nbsp;</td>
	</tr>
	<tr>
	  <td colspan="2">&nbsp;</td>
	  <td bgcolor="#696969" >&nbsp;</td>
	</tr>
	<tr>
	  <td  bgcolor="#909090" valign="top">
	    <br>
	    <a href="news.html">News</a><br>
	    <a href="download.html">Download</a><br>
	    <a href="mdk.html">Documentation</a><br>
	    <a href="lists.html">Mailing lists</a><br>
	    <a href="http://sourceforge.net/projects/mdk">
	      MDK at SourceForge</a><br>
	    <a href="http://sourceforge.net/cvs/?group_id=13897">
	      CVS repository</a><br><br>
	    <p align="center">Thanks to<br>
	      <A href="http://sourceforge.net"> 
		<IMG src="http://sourceforge.net/sflogo.php?group_id=13897&type=1"
		     width="88" height="31" border="0"
		     alt="SourceForge Logo"> </A> 
	  </td>
	  <td >
	    <p align="right"><font color="#000069" size="+1">
		Latest news
	      </font></p>
	    <ul>
	      <li>(08/01/01) 
		<i>MDK 0.2 release. </i>
		New version of MDK.
		<a href="news.html#new3">Read more...</a>
	      <li>(26/11/00) <i>Documentation update.</i>
		<a href="news.html#new2">Read more...</a>
	      <li>(18/11/00) 
		<i>MDK 0.1.1 release. </i>
		New version of MDK.
		<a href="news.html#new1">Read more...</a>
	    </ul>
	    <p align="right"><font color="#000069" size="+1">
		What is	the MIX?
	      </font>
	    </p>
	    
	    <b>MIX</b> is Donald Knuth's mythical computer as
	    described in his monumental work <a
	    href="http://Sunburn.Stanford.EDU/~knuth/taocp.html"> The
	    Art Of Computer Programming</a>. 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 <b>MIXAL</b>, the MIX Assembly Language.
	    
	    <p> 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 <a
	      href="mdk.html">MDK documentation</a> for a <a
	      href="mdk_2.html">tutorial</a> on MIX and MIXAL.
	    </p>
	    
	    &nbsp;<br>&nbsp;<br>
	    <p align="right"><font color="#000069" size="+1">
		What is the MDK?
	      </font>
	    </p>
	    The <b>M</b>IX <b>D</b>evelopment <b>K</b>it offers an
	    emulation of <b>MIX</b> and <b>MIXAL</b>. The <a
	    href="download.html"> current version</a> of MDK includes
	    two applications:
	    <ul>
	      <li><b><i>mixasm</i></b> A MIXAL compiler, which
		translates your source files into binary ones, executable
		by the MIX virtual machine.
	      <li><b><i>mixvm</i></b> 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.
	    </ul>
	    Using the MDK tools, you'll be able to
	    <ul>
	      <li>write, compile and execute MIXAL programs,
	      <li>set breakpoints and run your programs step by step,
	      <li>collect execution timing statistics,
	      <li>trace executed instructions,
	      <li>inspect and modify the MIX registers, flags and memory
		contents at any step,
	      <li>simulate MIX input-output devices using the standard
		output and your file system.
	    </ul>

	    See the MDK <a href="mdk.html">user's manual</a> for a
	    complete description of the toolkit.  The MDK utils will
	    run on any GNU/Linux box (see <a
	    href="download.html#reqs">requirements</a>) and, of
	    course, are <a href="http://www.gnu.org/copyleft/gpl.html">free
	    software</a>.
	    
	    <p align="right"><font color="#000069" size="+1">
		Planned features
	      </font>
	    </p>
	    
	    MDK is currently under active development, and there are some
	    planned additional features I have in mind, e.g.
	    <ul>
	      <li> allow MIXAL instructions as commands at the
		<b><i>mixvm</i></b> prompt,
	      <li> ncurses based frontend,
	      <li> GTK++/GNOME support,
	    </ul>
	    Please, <a href="mailto:jaortega@acm.org">let me know</a> which
	    of these features would you like better.
	    <p align="right">
	      Contact the <a href="mailto:jaortega@acm.org">author.</a>
	    </p>
	  </td>
	  <td bgcolor="#696969" >&nbsp;</td>
	</tr>
	<tr>
	  <td bgcolor="#909090">&nbsp;</td>
	  <td colspan="2">&nbsp;</td>
	</tr>
	<tr>
	  <td bgcolor="#909090">&nbsp;</td>
	  <td colspan="2" bgcolor="#909090" align="right">
	    <i>last updated Sat Jan  6 15:35:39 CET 2001</i>
	  </td>
	</tr>
    </table>
    
  </body>
</html>