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"> </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"> </td>
</tr>
<tr>
<td colspan="2"> </td>
<td bgcolor="#696969" > </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 ;-).
<br> <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" > </td>
</tr>
<tr>
<td bgcolor="#909090"> </td>
<td colspan="2"> </td>
</tr>
<tr>
<td bgcolor="#909090"> </td>
<td colspan="2" bgcolor="#909090" align="right">
</td>
</tr>
</table>
</body>
</html>
|