summaryrefslogtreecommitdiffhomepage
path: root/doc/mdk.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/mdk.texi')
-rw-r--r--doc/mdk.texi213
1 files changed, 213 insertions, 0 deletions
diff --git a/doc/mdk.texi b/doc/mdk.texi
new file mode 100644
index 0000000..ba5b94f
--- /dev/null
+++ b/doc/mdk.texi
@@ -0,0 +1,213 @@
+\input texinfo
+@c %**start of header
+@setfilename mdk.info
+@settitle GNU MIX Development Kit (mdk)
+@finalout
+@setchapternewpage odd
+@c %**end of header
+
+@set UPDATED 20 February 2001
+@set EDITION 0.3
+@set VERSION 0.3
+@set JAO Jos@'e Antonio Ortega Ruiz
+@set PHILIP Philip E. King
+@footnotestyle separate
+
+@ifinfo
+This file documents the the GNU @sc{mdk} utilities for developing
+programs using Donald Knuth's MIX language.
+
+Copyright (C) 2000, 2001 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+@ignore
+Permission is granted to process this file through TeX and print the
+results, provided the printed document carries copying permission
+notice identical to this one except for the removal of this paragraph
+(this paragraph not being relevant to the printed manual).
+
+@end ignore
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided also that the
+sections entitled ``Copying'' and ``GNU General Public License'' are
+included exactly as in the original, and provided that the entire
+resulting derived work is distributed under the terms of a permission
+notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions,
+except that this permission notice may be stated in a translation
+approved by the Free Software Foundation.
+@end ifinfo
+
+@titlepage
+@title GNU MDK
+@subtitle GNU MIX Development Kit
+@subtitle Edition @value{EDITION}, for GNU @sc{mdk} Version @value{VERSION}
+@subtitle @value{UPDATED}
+@author by @value{JAO}
+
+@page
+@vskip 0pt plus 1filll
+Copyright @copyright{} 2000, 2001 Free Software Foundation, Inc.
+
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided also that the
+sections entitled ``Copying'' and ``GNU General Public License'' are
+included exactly as in the original, and provided that the entire
+resulting derived work is distributed under the terms of a permission
+notice identical to this one.
+
+Permission is granted to copy and distribute translations of this manual
+into another language, under the above conditions for modified versions,
+except that this permission notice may be stated in a translation
+approved by the Free Software Foundation.
+@end titlepage
+
+@node Top, Introduction, (dir), (dir)
+
+@ifinfo
+This file documents the GNU @sc{mdk} utilities to develop, run and debug
+programs written in the MIXAL programming language. MIXAL is an
+assembler-like language for programming a virtual computer called
+MIX. They were created by Donald Knuth in the first volume of @cite{The
+Art of Computer Programming} (Addison Wesley, 1997).
+
+GNU @sc{mdk} is an official GNU package.
+
+GNU @sc{mdk} was written by @value{JAO} and is released under the GNU
+General Public license (@pxref{Copying}), so that users are free to share
+and improve it.
+
+@value{PHILIP} has contributed to this package development with many
+helpful discussions, as well as actual code (@pxref{mixvm.el}).
+
+@end ifinfo
+
+@menu
+* Introduction::
+* Installing MDK::
+* MIX and MIXAL tutorial:: Learn the innards of MIX and MIXAL.
+* Getting started:: Basic usage of the @sc{mdk} tools.
+* mixvm.el:: Using @code{mixvm} within Emacs.
+* mixvm:: Invoking and using the MIX virtual machine.
+* gmixvm::
+* mixasm:: Invoking the MIXAL assembler.
+* Copying:: @sc{mdk} licensing terms.
+* Problems:: Reporting bugs.
+* Concept Index:: Index of concepts.
+
+
+
+
+
+
+
+
+@detailmenu
+ --- The Detailed Node Listing ---
+
+Installing @sc{mdk}
+
+* Download::
+* Requirements::
+* Basic installation::
+* Emacs support::
+* Special configure flags::
+
+MIX and MIXAL tutorial
+
+* The MIX computer:: Architecture and instruction set
+ of the MIX computer.
+* MIXAL:: The MIX assembly language.
+
+The MIX computer
+
+* MIX architecture::
+* MIX instruction set::
+
+MIX instruction set
+
+* Instruction structure::
+* Loading operators::
+* Storing operators::
+* Arithmetic operators::
+* Address transfer operators::
+* Comparison operators::
+* Jump operators::
+* Input-output operators::
+* Conversion operators::
+* Shift operators::
+* Miscellaneous operators::
+* Execution times::
+
+MIXAL
+
+* Basic structure:: Writing basic MIXAL programs.
+* MIXAL directives:: Assembler directives.
+* Expressions:: Evaluation of expressions.
+* W-expressions:: Evaluation of w-expressions.
+* Local symbols:: Special symbol table entries.
+* Literal constants:: Specifying an immediate operand.
+
+Getting started
+
+* Writing a source file:: A sample MIXAL source file.
+* Compiling:: Using @code{mixasm} to compile source
+ files into binary format.
+* Running the program:: Running and debugging your program.
+
+Running the program
+
+* Non-interactive mode:: Running your programs non-interactively.
+* Interactive mode:: Running programs interactively.
+* Debugging:: Commands for debugging your programs.
+
+@code{mixvm}, the MIX computer simulator
+
+* Invocation:: Options when invoking @code{mixvm}.
+* Commands:: Commands available in interactive mode.
+* Devices:: MIX block devices implementation.
+
+Interactive commands
+
+* File commands:: Loading and executing programs.
+* Debug commands:: Debugging programs.
+* State commands:: Inspecting the virtual machine state.
+
+gmixvm
+
+* Invoking @code{gmixvm}::
+* MIX virtual machine::
+* Menu and status bars::
+
+@code{mixasm}, the MIXAL assembler
+
+* Invoking @code{mixasm}:: @code{mixasm} options
+
+@end detailmenu
+@end menu
+
+@include mdk_intro.texi
+@include mdk_install.texi
+@include mdk_tut.texi
+@include mdk_gstart.texi
+@include mdk_emixvm.texi
+@include mdk_mixvm.texi
+@include mdk_gmixvm.texi
+@include mdk_mixasm.texi
+@include gpl.texi
+@include mdk_bugs.texi
+@include mdk_index.texi
+
+
+@shortcontents
+@contents
+@bye