summaryrefslogtreecommitdiffhomepage
path: root/doc/html/index.html
blob: 2fb7d264e2f25fc44d1064fd6e68a1b711ebb9ea (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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<!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>(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>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,
	    </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 Mon Nov 27 00:30:40 </i>
	  </td>
	</tr>
    </table>
    
  </body>
</html>