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"> </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="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>
<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,
</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">
<i>last updated Mon Nov 27 00:30:40 </i>
</td>
</tr>
</table>
</body>
</html>
|