summaryrefslogtreecommitdiffhomepage
path: root/doc/html/index.html
blob: 429eb2d8fcd4f6ccd309d9758de833396a70e64d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<!-- -*-html-*- -->
<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="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">
           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? Well, if you're interested
	  in programming, please buy, borrow or steal a copy of TAOCP,
	  and you'll see the use ;-).  
	  &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>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> tracing of executed instructions in <b><i>mixvm</i></b>,
            <li> allow MIXAL instructions as commands at the
	         <b><i>mixvm</i></b> prompt,
            <li> include execution timing statistics,
            <li> ncurses based frontend,
            <li> GTK++/GNOME support,
            <li> MMIX 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">
	  &nbsp;
	</td>
      </tr>
    </table>
    
  </body>
</html>