DragonFly On-Line Manual Pages
MIXAL(1) Mixal users manual MIXAL(1)
NAME
mixal - a load-and-go MIX assembler
SYNOPSIS
mixal [file...]
DESCRIPTION
mixal is an implementation of the hypothetical MIX computer and its
assembly language called MIXAL. The computer was designed by Donald
Knuth for use in his monumental and yet to be finished book series The
Art of Computer Programming. All programs and all programming exercises
in the book are written in the MIXAL language.
This implementation is a load-and-go assembler, meaning that you
provide it with a MIXAL program source, which it translates into MIX
machine code, which it promptly executes by acting as a MIX emulator.
You give mixal zero or more MIXAL program source files in the command
line, which the program interprets. If you give it no arguments, it
expects to find a program in the standard input stream. After the
program has executed, the final state of the machine registers is
printed to the standard output stream.
The card punch and line printer devices are connected to the standard
input and output stream, respectively. Console input and output are
connected to standard input and output, and the disk devices are
connected to files named diskN in the current directory, where N is the
device number. Those files are created on demand.
There is one significant difference between the MIXAL input language
and MIX as originally described by Knuth: Knuth puts fields at fixed
offsets on a line, while this implementation expects them to be
separated by whitespace. (Purists may wish to fix this obvious bug.)
Since the ALF directive, which defines constant strings, becomes
ambiguous when delimited by whitespace, there's a new syntax to achieve
the same effect. Instead of
ALF rime
use
CON " rime"
BUGS
This MIXAL implementation does not do floating-point. The tape devices
are not implemented.
AUTHOR
This MIXAL implementation was designed and written by Darius Bacon, and
then ported to Unixish systems and debugged by Eric S. Raymond. This
version includes corrections to multiplication and division by Larry
Gately. This manual page was written for Debian by Antti-Juhani
Kaijanaho, with changes by Darius Bacon and Eric S. Raymond.
The MIXAL language was designed by Donald Knuth. We gratefully
acknowledge the general permission granted by Dr. Knuth and
Addison-Wesley to redistribute MIX documentation and examples from The
Art of Computer Programming in connection with open-source
implementations of the language and under the license terms of those
implementations.
SEE ALSO
The files /usr/share/doc/mixal/README and /usr/share/doc/mixal/NOTES
contain some information about this MIXAL implementation.
A description of the MIX system and the MIXAL language can be found in
Donald E. Knuth's book The Art of Computer Programming, Volume 1:
Fundamental Algorithms; 3rd Edition (Addison-Wesley 1997). (Or see the
home page at http://www-cs-faculty.stanford.edu/~knuth/taocp.html.)
Retrocomputing Museum 10/20/2010 MIXAL(1)