summaryrefslogtreecommitdiffhomepage
path: root/doc/html/index.html
blob: e793296b91e41b2f2c84b8ab8bc9d8fa58354b46 (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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
<!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>