summaryrefslogtreecommitdiffhomepage
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile.am7
-rw-r--r--doc/mdk.texi152
-rw-r--r--doc/mdk_emacs.texi (renamed from doc/mdk_mixal-mode.texi)79
-rw-r--r--doc/mdk_emixvm.texi33
-rw-r--r--doc/mdk_gstart.texi4
-rw-r--r--doc/mdk_intro.texi8
-rw-r--r--doc/mdk_mixasm.texi4
7 files changed, 214 insertions, 73 deletions
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 1ffa910..72b5318 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -10,17 +10,16 @@
# WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# $Id: Makefile.am,v 1.9 2003/06/02 23:20:38 jao Exp $
+# $Id: Makefile.am,v 1.10 2003/06/04 00:03:19 jao Exp $
SUBDIRS = img
SUFFIXES = .html
info_TEXINFOS = mdk.texi
mdk_TEXINFOS = mdk_intro.texi mdk_ack.texi mdk_tut.texi mdk_gstart.texi \
- mdk_mixvm.texi mdk_emixvm.texi mdk_mixasm.texi mdk_bugs.texi \
+ mdk_mixvm.texi mdk_emacs.texi mdk_mixasm.texi mdk_bugs.texi \
mdk_index.texi mdk_gmixvm.texi mdk_install.texi \
- mdk_mixguile.texi mdk_copying.texi mdk_findex.texi \
- mdk_mixal-mode.texi
+ mdk_mixguile.texi mdk_copying.texi mdk_findex.texi
html_docs = mdk.html
diff --git a/doc/mdk.texi b/doc/mdk.texi
index 3eeb29d..72dc8ef 100644
--- a/doc/mdk.texi
+++ b/doc/mdk.texi
@@ -12,9 +12,9 @@
@end direntry
-@set UPDATED April, 2002
-@set EDITION 1.0
-@set VERSION 1.0
+@set UPDATED June, 2003
+@set EDITION 1.0.1
+@set VERSION 1.0.1
@set JAO Jose Antonio Ortega Ruiz
@set PHILIP Philip E. King
@set PIETER Pieter E. J. Pareit
@@ -97,10 +97,10 @@ General Public license (@pxref{Copying}), so that users are free to share
and improve it.
@value{PIETER} is the author of the Emacs @code{MIXAL} mode
-(@pxref{mixal-mode.el}), and has also contributed many bug fixes.
+(@pxref{MIXAL mode}), and has also contributed many bug fixes.
@value{PHILIP} has contributed to this package development with many
-helpful discussions, as well as actual code (@pxref{mixvm.el}).
+helpful discussions, as well as actual code (@pxref{GUD integration}).
@end ifinfo
@@ -110,8 +110,7 @@ helpful discussions, as well as actual code (@pxref{mixvm.el}).
* Installing MDK:: Installing GNU MDK from the source tarball.
* MIX and MIXAL tutorial:: Learn the innards of MIX and MIXAL.
* Getting started:: Basic usage of the @sc{mdk} tools.
-* mixal-mode.el:: Using Emacs to write MIX code.
-* mixvm.el:: Using @code{mixvm} within Emacs.
+* Emacs tools:: Programming the MIX using Emacs.
* mixasm:: Invoking the MIXAL assembler.
* mixvm:: Invoking and using the MIX virtual machine.
* gmixvm:: Invoking and using the GTK+ virtual machine.
@@ -121,6 +120,140 @@ helpful discussions, as well as actual code (@pxref{mixvm.el}).
* Concept Index:: Index of concepts.
* Instructions and commands:: Index of MIXAL instructions and MIXVM commands.
+@detailmenu
+
+
+@detailmenu
+ --- The Detailed Node Listing ---
+
+Installing @sc{mdk}
+
+* Download::
+* Requirements::
+* Basic installation::
+* Emacs support::
+* Special configure flags::
+* Supported platforms::
+
+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 programs.
+* Using mixguile:: Using the Scheme interpreter to run and
+ debug your programs.
+* Using Scheme in mixvm and gmixvm::
+
+Running the program
+
+* Non-interactive mode:: Running your programs non-interactively.
+* Interactive mode:: Running programs interactively.
+* Debugging:: Commands for debugging your programs.
+
+Using @code{mixguile}
+
+* The mixguile shell:: Using the Scheme MIX virtual machine.
+* Additional functions:: Scheme functions accessing the VM.
+* Defining new functions:: Defining your own Scheme functions.
+* Hook functions:: Using command and break hook functions.
+* Scheme scripts::
+
+Hook functions
+
+* Command hooks::
+* Break hooks::
+
+Emacs tools
+
+* MIXAL mode:: Editing MIXAL files.
+* GUD integration:: Invoking @code{mixvm} within Emacs.
+
+MIXAL mode
+
+* Basics:: Editing code, font locking and indentation.
+* Help system:: Using the interactive help system.
+* Compiling and running:: Invoking compiler and/or virtual machine.
+
+@code{mixasm}, the MIXAL assembler
+
+* Invoking @code{mixasm}:: @code{mixasm} options
+
+@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.
+* Configuration commands:: Changing and storing mixvm settings.
+* Scheme commands::
+
+@code{gmixvm}, the GTK virtual machine
+
+* Invoking @code{gmixvm}:: Invoking the GTK+ interface.
+* MIXVM console:: Using @code{mixvm} commands.
+* MIX virtual machine:: The MIX virtual machine window.
+* MIXAL source view:: Viewing the MIXAL source code.
+* MIX devices view:: Device output.
+* Menu and status bars:: Available menu commands.
+
+@code{mixguile}, the Scheme virtual machine
+
+* Invoking mixguile:: Command line options.
+* Scheme functions reference:: Scheme functions accessing the VM.
+
+Scheme functions reference
+
+* mixvm wrappers:: Functions invoking mixvm commands.
+* Hooks:: Adding hooks to mixvm commands.
+* Additional VM functions:: Functions accessing the MIX virtual machine.
+
+Copying
+
+* GNU General Public License::
+* GNU Free Documentation License::
+
+@end detailmenu
@end menu
@include mdk_intro.texi
@@ -128,8 +261,7 @@ helpful discussions, as well as actual code (@pxref{mixvm.el}).
@include mdk_install.texi
@include mdk_tut.texi
@include mdk_gstart.texi
-@include mdk_mixal-mode.texi
-@include mdk_emixvm.texi
+@include mdk_emacs.texi
@include mdk_mixasm.texi
@include mdk_mixvm.texi
@include mdk_gmixvm.texi
@@ -143,4 +275,4 @@ helpful discussions, as well as actual code (@pxref{mixvm.el}).
@contents
@bye
-$Id: mdk.texi,v 1.19 2003/06/02 23:20:38 jao Exp $
+$Id: mdk.texi,v 1.20 2003/06/04 00:03:19 jao Exp $
diff --git a/doc/mdk_mixal-mode.texi b/doc/mdk_emacs.texi
index a3d53b1..1fd848a 100644
--- a/doc/mdk_mixal-mode.texi
+++ b/doc/mdk_emacs.texi
@@ -1,24 +1,38 @@
@c -*-texinfo-*-
@c This is part of the GNU MDK Reference Manual.
-@c Copyright (C) 2000, 2001, 2003
+@c Copyright (C) 2003
@c Free Software Foundation, Inc.
@c See the file mdk.texi for copying conditions.
-@node mixal-mode.el, mixvm.el, Getting started, Top
-@comment node-name, next, previous, up
-@chapter mixal-mode.el
+@node Emacs tools, mixasm, Getting started, Top
+@chapter Emacs tools
-Everyone writing code will know how important a good editor is. Most
-systems already come with Emacs. @sc{mdk} adds support to Emacs for
-both writing and debugging MIX programs, see (@pxref{Emacs support})
-for installing instructions. This chapter discusses the support for the
-writing code, see (@pxref{mixvm.el}) for the discussion of the MIX
-virtual machine support.
+Everyone writing code knows how important a good editor is. Most
+systems already come with Emacs, and excellent programmer's editor.
+@sc{mdk} adds support to Emacs for both writing and debugging MIX
+programs. A major mode for MIXAL source files eases edition of your
+code, while integration with Emacs' debugging interface
+(@acronym{GUD}) lets you use @code{mixvm} without leaving your
+favourite text editor.
-When everything is installed correctly, Emacs will select the right
-mode for editing files ending with @code{.mixal}. If however you would
-want to load mixal-mode on another file, you can do so with @code{M-x
-mixal-mode}.
+This chapter shows how to use the Elisp modules included in @sc{mdk},
+assuming that you have followed the installation instructions in
+@xref{Emacs support}.
+
+@menu
+* MIXAL mode:: Editing MIXAL files.
+* GUD integration:: Invoking @code{mixvm} within Emacs.
+@end menu
+
+@node MIXAL mode, GUD integration, Emacs tools, Emacs tools
+@section MIXAL mode
+
+The module @file{mixal-mode.el} provides a new mode, mixal-mode, for
+editing MIXAL source files@footnote{mixal-mode has been developed and
+documented by @value{PIETER}}. When everything is installed correctly,
+Emacs will select it as the major mode for editing files with extension
+@code{.mixal}. You can also activate mixal-mode in any buffer
+issuing the Emacs command @code{M-x mixal-mode}.
@menu
* Basics:: Editing code, font locking and indentation.
@@ -26,9 +40,9 @@ mixal-mode}.
* Compiling and running:: Invoking compiler and/or virtual machine.
@end menu
-@node Basics, Help system, mixal-mode.el, mixal-mode.el
+@node Basics, Help system, MIXAL mode, MIXAL mode
@comment node-name, next, previous, up
-@section Basics
+@subsection Basics
The mode for editing mixal source files is inherited from
fundamental-mode, meaning that all your favorite editing operations
@@ -58,9 +72,9 @@ Face to use for operation code names.
Face to use for assembly pseudo-instruction names.
@end itemize
-@node Help system, Compiling and running, Basics, mixal-mode.el
+@node Help system, Compiling and running, Basics, MIXAL mode
@comment node-name, next, previous, up
-@section Help system
+@subsection Help system
When coding your program, you will be thinking, looking up
documentation and editing files. Emacs already helps you with editing
@@ -76,9 +90,9 @@ pseudoinstructions. When the @code{point} is around a MIXAL
pseudoinstruction in your source file, Emacs will recognize it and
will suggest the right MIX operation code.
-@node Compiling and running, , Help system, mixal-mode.el
+@node Compiling and running, , Help system, MIXAL mode
@comment node-name, next, previous, up
-@section Compiling and running
+@subsection Compiling and running
After you have written your MIXAL program, you'll probably want to
test it. This can be done with the MIX virtual machine. First you will
@@ -95,3 +109,28 @@ use the debugging commands described in @xref{mixvm}.
If you just want to execute the program, you can do so with @kbd{M-x
mixal-run} (@kbd{C-c r}). This will invoke mixvm,
execute the program and show its output in a separate buffer.
+
+@node GUD integration, , MIXAL mode, Emacs tools
+@section GUD integration
+
+If you are an Emacs user and write your MIXAL programs using this
+editor, you will find the elisp program @file{mixvm.el} quite
+useful@footnote{@file{mixvm.el} has been kindly contributed by
+@value{PHILIP}. @file{mixvm.el} is based on a study of gdb, perldb, and
+pdb as found in @file{gud.el}, and @file{rubydb3x.el} distributed with
+the source code to the Ruby language.}. @file{mixvm.el} allows running
+the MIX virtual machine @code{mixvm} (@pxref{mixvm}) inside an Emacs
+@acronym{GUD} buffer, while visiting the MIXAL source file in another
+buffer.
+
+After installing @file{mixvm.el} (@pxref{Emacs support}), you can
+initiate an @sc{mdk}/@acronym{GUD} session inside Emacs with the command
+
+@example
+M-x mixvm
+@end example
+
+@noindent
+and you will have a @code{mixvm} prompt inside a newly created
+@acronym{GUD} buffer. @acronym{GUD} will reflect the current line in the
+corresponding source file buffer.
diff --git a/doc/mdk_emixvm.texi b/doc/mdk_emixvm.texi
deleted file mode 100644
index 4dd1cd5..0000000
--- a/doc/mdk_emixvm.texi
+++ /dev/null
@@ -1,33 +0,0 @@
-@c -*-texinfo-*-
-@c This is part of the GNU MDK Reference Manual.
-@c Copyright (C) 2000, 2001, 2003
-@c Free Software Foundation, Inc.
-@c See the file mdk.texi for copying conditions.
-
-@c $Id: mdk_emixvm.texi,v 1.5 2003/06/02 23:20:38 jao Exp $
-
-@node mixvm.el, mixasm, mixal-mode.el, Top
-@comment node-name, next, previous, up
-@chapter mixvm.el
-
-If you are an Emacs user and write your MIXAL programs using this
-editor, you will find the elisp program @file{mixvm.el} quite
-useful@footnote{@file{mixvm.el} has been kindly contributed by
-@value{PHILIP}. @file{mixvm.el} is based on a study of gdb, perldb, and
-pdb as found in @file{gud.el}, and @file{rubydb3x.el} distributed with
-the source code to the Ruby language.}. @file{mixvm.el} allows running
-the MIX virtual machine @code{mixvm} (@pxref{mixvm}) inside an Emacs
-@acronym{GUD} buffer, while visiting the MIXAL source file in another
-buffer.
-
-After installing @file{mixvm.el} (@pxref{Emacs support}), you can
-initiate an @sc{mdk}/@acronym{GUD} session inside Emacs with the command
-
-@example
-M-x mixvm
-@end example
-
-@noindent
-and you will have a @code{mixvm} prompt inside a newly created
-@acronym{GUD} buffer. @acronym{GUD} will reflect the current line in the
-corresponding source file buffer.
diff --git a/doc/mdk_gstart.texi b/doc/mdk_gstart.texi
index d315279..b9e7766 100644
--- a/doc/mdk_gstart.texi
+++ b/doc/mdk_gstart.texi
@@ -4,9 +4,9 @@
@c Free Software Foundation, Inc.
@c See the file mdk.texi for copying conditions.
-@c $Id: mdk_gstart.texi,v 1.14 2003/06/02 23:20:38 jao Exp $
+@c $Id: mdk_gstart.texi,v 1.15 2003/06/04 00:03:19 jao Exp $
-@node Getting started, mixal-mode.el, MIX and MIXAL tutorial, Top
+@node Getting started, Emacs tools, MIX and MIXAL tutorial, Top
@chapter Getting started
@cindex tutorial
diff --git a/doc/mdk_intro.texi b/doc/mdk_intro.texi
index f7b5a8e..d695770 100644
--- a/doc/mdk_intro.texi
+++ b/doc/mdk_intro.texi
@@ -4,7 +4,7 @@
@c Free Software Foundation, Inc.
@c See the file mdk.texi for copying conditions.
-@c $Id: mdk_intro.texi,v 1.6 2003/06/02 23:20:38 jao Exp $
+@c $Id: mdk_intro.texi,v 1.7 2003/06/04 00:03:19 jao Exp $
@node Introduction, Acknowledgments, Top, Top
@comment node-name, next, previous, up
@@ -45,9 +45,13 @@ functionality accessible through a graphical interface.
@item mixguile
A Guile shell, with an embedded MIX virtual machine and built-in
commands to manipulate it using Scheme.
+@item mixal-mode.el
+An Emacs major mode for MIXAL source files editing, providing syntax
+highlighting, documentation lookup and invocation of @code{mixvm}
+within Emacs.
@item mixvm.el
This elisp program allows running @code{mixvm} inside an Emacs GUD
-buffer, allowing concurrent edition and debugging of MIXAL programs.
+buffer, providing concurrent edition and debugging of MIXAL programs.
@end table
@code{mixvm} and @code{gmixvm} implement a simulator of the MIX
diff --git a/doc/mdk_mixasm.texi b/doc/mdk_mixasm.texi
index 06d8736..c5d8765 100644
--- a/doc/mdk_mixasm.texi
+++ b/doc/mdk_mixasm.texi
@@ -4,9 +4,9 @@
@c Free Software Foundation, Inc.
@c See the file mdk.texi for copying conditions.
-@c $Id: mdk_mixasm.texi,v 1.6 2003/06/02 23:20:38 jao Exp $
+@c $Id: mdk_mixasm.texi,v 1.7 2003/06/04 00:03:19 jao Exp $
-@node mixasm, mixvm, mixvm.el, Top
+@node mixasm, mixvm, Emacs tools, Top
@comment node-name, next, previous, up
@chapter @code{mixasm}, the MIXAL assembler
@cindex @code{mixasm}