Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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 assem-
     bly 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 Com-
     puter 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 exe-
     cuted, 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 white-
     space. (Purists may wish to fix this obvious bug.) Since the ALF directive,
     which defines constant strings, becomes ambiguous when delimited by  white-
     space, 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 ver-
     sion 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 redis-
     tribute 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 con-
     tain some information about this MIXAL implementation.

     A description of the MIX system and the MIXAL language can be found in Don-
     ald 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)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=mixal&sektion=1&manpath=FreeBSD+Ports+15.1.quarterly>

home | help