diff options
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/mdk.texi | 43 | ||||
| -rw-r--r-- | doc/mdk_bugs.texi | 2 | ||||
| -rw-r--r-- | doc/mdk_copying.texi | 2 | ||||
| -rw-r--r-- | doc/mdk_emixvm.texi | 2 | ||||
| -rw-r--r-- | doc/mdk_findex.texi | 11 | ||||
| -rw-r--r-- | doc/mdk_gmixvm.texi | 8 | ||||
| -rw-r--r-- | doc/mdk_gstart.texi | 239 | ||||
| -rw-r--r-- | doc/mdk_index.texi | 8 | ||||
| -rw-r--r-- | doc/mdk_install.texi | 47 | ||||
| -rw-r--r-- | doc/mdk_intro.texi | 5 | ||||
| -rw-r--r-- | doc/mdk_mixasm.texi | 4 | ||||
| -rw-r--r-- | doc/mdk_mixvm.texi | 4 | ||||
| -rw-r--r-- | doc/mdk_tut.texi | 4 | 
13 files changed, 320 insertions, 59 deletions
diff --git a/doc/mdk.texi b/doc/mdk.texi index 3a6c238..6999267 100644 --- a/doc/mdk.texi +++ b/doc/mdk.texi @@ -12,9 +12,9 @@  @end direntry -@set UPDATED 9 June 2001 -@set EDITION 0.4 -@set VERSION 0.4 +@set UPDATED September 10th, 2001 +@set EDITION 0.5 +@set VERSION 0.5  @set JAO Jose Antonio Ortega Ruiz  @set PHILIP Philip E. King  @footnotestyle separate @@ -67,12 +67,12 @@ 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, distribute and/or modify this +document under the terms of the GNU Free Documentation License, +Version 1.1 or any later version published by the Free Software +Foundation; with no Invariant Sections, no Front-Cover Texts and +no Back-Cover Texts.  A copy of the license is included in the +section entitled "GNU Free Documentation License".  Permission is granted to copy and distribute translations of this manual  into another language, under the above conditions for modified versions, @@ -111,7 +111,15 @@ helpful discussions, as well as actual code (@pxref{mixvm.el}).  * mixasm::                      Invoking the MIXAL assembler.  * Problems::                    Reporting bugs.  * Copying::                     @sc{mdk} licensing terms. +* Acknowledgments::               * Concept Index::               Index of concepts. +* Instructions and commands::   Index of MIXAL instructions and MIXVM commands. + + + + + + @@ -176,7 +184,9 @@ 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::         Running and debugging your programs. +* Using mixguile::              Using the Scheme interpreter to run and +                                debug your programs.  Running the program @@ -184,6 +194,12 @@ Running the program  * Interactive mode::            Running programs interactively.  * Debugging::                   Commands for debugging your programs. +Using @code{mixguile} + +* The mixguile shell::           +* Additional functions::         +* Defining new functions::       +  @code{mixvm}, the MIX computer simulator  * Invocation::                  Options when invoking @code{mixvm}. @@ -227,12 +243,13 @@ Copying  @include mdk_gmixvm.texi  @include mdk_mixasm.texi  @include mdk_bugs.texi -@c @include gpl.texi -@c @include fdl.texi  @include mdk_copying.texi +@include mdk_ack.texi  @include mdk_index.texi - +@include mdk_findex.texi  @shortcontents  @contents  @bye + +$Id: mdk.texi,v 1.13 2001/09/13 00:13:39 jao Exp $ diff --git a/doc/mdk_bugs.texi b/doc/mdk_bugs.texi index 990e595..65ceb1a 100644 --- a/doc/mdk_bugs.texi +++ b/doc/mdk_bugs.texi @@ -4,6 +4,8 @@  @c   Free Software Foundation, Inc.  @c See the file mdk.texi for copying conditions. +@c $Id: mdk_bugs.texi,v 1.3 2001/09/13 00:13:39 jao Exp $ +  @node Problems, Copying, mixasm, Top  @chapter Reporting Bugs  @cindex bugs diff --git a/doc/mdk_copying.texi b/doc/mdk_copying.texi index bbcd225..bfb6b34 100644 --- a/doc/mdk_copying.texi +++ b/doc/mdk_copying.texi @@ -1,4 +1,4 @@ -@node Copying, Concept Index, Problems, Top +@node Copying, Acknowledgments, Problems, Top  @appendix Copying  @menu diff --git a/doc/mdk_emixvm.texi b/doc/mdk_emixvm.texi index 6a6efb4..111e9de 100644 --- a/doc/mdk_emixvm.texi +++ b/doc/mdk_emixvm.texi @@ -4,6 +4,8 @@  @c   Free Software Foundation, Inc.  @c See the file mdk.texi for copying conditions. +@c $Id: mdk_emixvm.texi,v 1.3 2001/09/13 00:13:39 jao Exp $ +  @node mixvm.el, mixvm, Getting started, Top  @comment  node-name,  next,  previous,  up  @chapter mixvm.el diff --git a/doc/mdk_findex.texi b/doc/mdk_findex.texi new file mode 100644 index 0000000..64ac31b --- /dev/null +++ b/doc/mdk_findex.texi @@ -0,0 +1,11 @@ +@c -*-texinfo-*- +@c This is part of the GNU MDK Reference Manual. +@c Copyright (C) 2000, 2001 +@c   Free Software Foundation, Inc. +@c See the file mdk.texi for copying conditions. + +@c $Id: mdk_findex.texi,v 1.1 2001/09/13 00:13:39 jao Exp $ + +@node Instructions and commands, , Concept Index, Top +@unnumbered Instructions and commands +@printindex fn diff --git a/doc/mdk_gmixvm.texi b/doc/mdk_gmixvm.texi index 153550e..b5823bb 100644 --- a/doc/mdk_gmixvm.texi +++ b/doc/mdk_gmixvm.texi @@ -4,7 +4,7 @@  @c   Free Software Foundation, Inc.  @c See the file mdk.texi for copying conditions. -@c $Id: mdk_gmixvm.texi,v 1.11 2001/09/10 20:35:03 jao Exp $ +@c $Id: mdk_gmixvm.texi,v 1.12 2001/09/13 00:13:39 jao Exp $  @node gmixvm, mixasm, mixvm, Top  @comment  node-name,  next,  previous,  up @@ -271,7 +271,7 @@ using the menu entry @code{@w{Settings->External programs}}, or using the  Exits the application.  @end deffn -@deffn View Toolbar(s) +@deffn View @w{Toolbar(s)}  Toggles the toolbar(s) in the @code{gmixvm} window(s) (in split mode  there are multiple windows and, hence, multiple toolbars).  @end deffn @@ -286,8 +286,8 @@ and let you turn on/off the visibility of the corresponding  @end deffn -@deffn View Split windows -@deffn View One window +@deffn View @w{Split windows} +@deffnx View @w{One window}  Change the mode between one and split windows. diff --git a/doc/mdk_gstart.texi b/doc/mdk_gstart.texi index 70ded05..b35fea7 100644 --- a/doc/mdk_gstart.texi +++ b/doc/mdk_gstart.texi @@ -4,9 +4,11 @@  @c   Free Software Foundation, Inc.  @c See the file mdk.texi for copying conditions. +@c $Id: mdk_gstart.texi,v 1.6 2001/09/13 00:13:39 jao Exp $ +  @node Getting started, mixvm.el, MIX and MIXAL tutorial, Top -@comment  node-name,  next,  previous,  up  @chapter Getting started +@cindex tutorial  In this chapter, you will find a sample code-compile-run-debug session  using the @sc{mdk} utilities. Familiarity with the MIX mythical computer @@ -17,14 +19,16 @@ assumed; for a compact reminder, see @ref{MIX and MIXAL tutorial}.  * 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::         Running and debugging your programs. +* Using mixguile::              Using the Scheme interpreter to run and +                                debug your programs.  @end menu  @node Writing a source file, Compiling, Getting started, Getting started -@comment  node-name,  next,  previous,  up  @section Writing a source file  @cindex MIXAL  @cindex source file +@cindex .mixal file  MIXAL programs can be written as ASCII files with your editor of choice.  Here you have the mandatory @emph{hello world} as written in the MIXAL @@ -87,10 +91,9 @@ blanks}.  The workings of this sample program should be straightforward if you are  familiar with MIXAL. See TAOCP vol. 1 for a thorought definition or -@ref{MIX and MIXAL tutorial}, for a quick tutorial. +@ref{MIX and MIXAL tutorial}, for a tutorial.  @node Compiling, Running the program, Writing a source file, Getting started -@comment  node-name,  next,  previous,  up  @section Compiling  @cindex compiling  @cindex binary programs @@ -98,18 +101,20 @@ familiar with MIXAL. See TAOCP vol. 1 for a thorought definition or  @cindex assembler  @cindex @code{mixasm} -A simulator of the MIX computer, called @code{mixvm} (MIX virtual -machine) is included in the @sc{mdk} tools. It is able to run binary -files containing MIX instructions written in their binary +Three simulators of the MIX computer, called @code{mixvm}, @code{gmixvm} +and @code{mixguile}, are included in the @sc{mdk} tools. They are able to +run binary files containing MIX instructions written in their binary  representation. You can translate MIXAL source files into this binary  form using @code{mixasm}, the MIXAL assembler. So, in order to compile -the @file{hello.mixal} file, you can type the following  -command at your shell prompt: +the @file{hello.mixal} file, you can type the following command at your +shell prompt:  @example  mixasm -g hello @key{RET}  @end example +@cindex .mix file +  If the source file contains no errors, this will produce a binary file  called @file{hello.mix} which can be loaded and run by the MIX virtual  machine. The @code{-g} flag tells the assembler to include debug @@ -118,18 +123,34 @@ the compilation options, see @ref{mixasm}.) Now, your are ready to run  your first MIX program, as described in the following section. -@node Running the program,  , Compiling, Getting started -@comment  node-name,  next,  previous,  up +@node Running the program, Using mixguile, Compiling, Getting started  @section Running the program  @cindex @code{mixvm}  @cindex non-interactive mode  @cindex interactive mode  MIX is a mythical computer, so it is no use ordering it from your -favorite hardware provider. @sc{mdk} provides a software simulator of -the computer, though. It is called @code{mixvm}, which stands for -@dfn{MIX virtual machine}. Using it, you can run your MIXAL programs, -after compiling them with @code{mixasm} into binary @file{.mix} +favorite hardware provider. @sc{mdk} provides three software simulators of +the computer, though. They are + +@itemize @bullet +@item +@code{mixvm}, a command line oriented simulator, +@item +@code{gmixvm}, a GTK based graphical interface to @code{mixvm}, and +@item +@code{mixguile}, a Guile shell with a built-in MIX simulator. +@end itemize + +All three simulators accept the same set of user commands, but offer a +different user interface, as noted above. In this section we shall +describe some of these commands, and show you how to use them from +@code{mixvm}'s command line. You can use them as well at @code{gmixvm}'s +command prompt (@pxref{gmixvm}), or using the built-in Scheme primitives +of @code{mixguile} (@pxref{Using mixguile}). + +Using the MIX simulators, you can run your MIXAL programs, after +compiling them with @code{mixasm} into binary @file{.mix}  files. @code{mixvm} can be used either in @dfn{interactive} or  @dfn{non-interactive} mode. In the second case, @code{mixvm} will load  your program into memory, execute it (producing any output due to MIXAL @@ -242,6 +263,7 @@ all utilities using this library (for a complete description of  readline's line editing usage, see @ref{Command Line  Editing,,,Readline}.) +@cindex @code{load}  Usually, the first thing you will want to do is loading a compiled MIX  program into memory. This is acomplished by the @code{load} command,  which takes as an argument the name of the @file{.mix} file to be @@ -258,12 +280,14 @@ and set the program counter to the address of the first instruction. You  can obtain the contents of the program counter using the command  @code{pc}: +@cindex @code{pc}  @example  MIX > pc  Current address: 3000  MIX >  @end example +@cindex @code{run}  After loading it, you are ready to run the program, using, as you surely  have guessed, the @code{run} command: @@ -294,6 +318,7 @@ Current address: 3002  MIX >  @end example +@cindex @code{pmem}  @noindent You can check the contents of a memory cell giving its address  as an argument of the command @code{pmem}, like this @@ -320,6 +345,7 @@ MIX > pmem 3000-3006  MIX >  @end example +@cindex @code{preg}  @noindent  In a similar manner, you can look at the contents of the MIX registers  and flags. For instance, to ask for the contents of the A register you @@ -331,6 +357,7 @@ rA: + 00 00 00 00 00 (0000000000)  MIX >  @end example +@cindex @code{help}  @noindent  Use the comand @code{help} to obtain a list of all available commands,  and @code{help COMMAND} for help on a specific command, e.g. @@ -350,6 +377,7 @@ over commands useful for debugging your programs.  @comment  node-name,  next,  previous,  up  @subsection Debugging commands +@cindex @code{next}  The interactive mode of @code{mixvm} lets you step by step execution of  programs as well as breakpoint setting. Use @code{next} to step through  the program, running its instructions one by one. To run our @@ -383,6 +411,9 @@ MIX > @end example  (As an aside, the above sample also shows how the virtual machine  handles cummulative time statistics and automatic program restart). +@cindex @code{sbpa} +@cindex breakpoints +  You can set a breakpoint at a given address using the command  @code{sbpa} (set breakpoint at address). When a breakpoint is set,  @code{run} will stop before executing the instruction at the given @@ -404,6 +435,8 @@ Elapsed time: 10 /Total program time: 11 (Total uptime: 33)  MIX >  @end example +@cindex @code{sbp} +@cindex breakpoints  @noindent  Note that, since we compiled @file{hello.mixal} with debug info enabled  (the @code{-g} flag of @code{mixasm}), the virtual machine is able to @@ -429,6 +462,7 @@ execution whenever a register, a memory cell, the comparison flag or the  overflow toggle change using the commands @w{@code{sbp[rmco]}}  (@pxref{Debug commands}). +@cindex @code{psym}  MIXAL lets you define symbolic constants, either using the @code{EQU}  pseudoinstruction or starting an instruction line with a label (which  assigns to the label the value of the current memory address). Each @@ -444,8 +478,179 @@ MSG:  3002  MIX >   @end example -Other useful commands for debugging are @code{tracing} (which turns on +Other useful commands for debugging are @code{strace} (which turns on  tracing of executed intructions), @code{pbt} (which prints a backtrace  of executed instructions) and @code{weval} (which evaluates  w-expressions on the fly). For a complete description of all available  MIX commands, @xref{mixvm}. + +@node Using mixguile,  , Running the program, Getting started +@section Using @code{mixguile} + +With @code{mixguile} you can run a MIX simulator embedded in a Guile +shell, that is, using Scheme functions and programs. As with +@code{mixvm}, @code{mixguile} can be run both in interactive and +non-interactive modes. The following subsections provide a quick tour on +using this MIX emulator. + +@menu +* The mixguile shell::           +* Additional functions::         +* Defining new functions::       +@end menu + +@node The mixguile shell, Additional functions, Using mixguile, Using mixguile +@subsection The @code{mixguile} shell +@cindex Scheme +@cindex @code{mixguile} +@cindex REPL + +If you simply type + +@example +mixguile @key{RET} +@end example +@noindent +at the command prompt, you'll be presented a Guile shell prompt like +this + +@example +guile> +@end example +@noindent +At this point, you have entered a Scheme read-eval-print loop (REPL) +which offers you all the Guile functionality plus a new set of built-in +procedures to execute and debug MIX programs. Each of the @code{mixvm} +commands described in the previous sections (and in @pxref{mixvm}) have +a Scheme function counterpart named after it by prepending the prefix +@code{mix-} to its name. Thus, to load our hello world program, you can +simply enter + +@example +guile> (mix-load "hello") +Program loaded. Start address: 3000 +guile>  +@end example +@noindent +and run it using @code{mix-run}: + +@example +guile> (mix-run) +Running ... +MIXAL HELLO WORLD                                                      +... done +Elapsed time: 11 /Total program time: 11 (Total uptime: 11) +guile>  +@end example +@noindent +In the same way, you can execute it step by step using the Scheme +function @code{mix-next} or set a breakpoint: + +@example +guile> (mix-sbp 4) +Breakpoint set at line 5 +guile>  +@end example +@noindent +or, if you one to peek at a register contents: + +@example +guile> (mix-preg 'A) +rA: + 00 00 00 00 00 (0000000000) +guile>  +@end example + +You get the idea: you have at your disposal all the @code{mixvm} and +@code{gmixvm} commands by means of @code{mix-} functions. But, in case +you are wondering, this is only the beginning. You also have at your +disposal a whole Scheme interpreter, and you can, for instance, define +new functions combining the @code{mix-} and all other Scheme +primitives. In the next sections, you'll find examples of how to take +advantage of the Guile interpreter. + +@node Additional functions, Defining new functions, The mixguile shell, Using mixguile +@subsection Additional MIX Scheme functions + +@node Defining new functions,  , Additional functions, Using mixguile +@subsection Definining new functions +@cindex Scheme functions + +Scheme is a powerful language, and you can use it inside @code{mixguile} +to easily extend the MIX interpreter's capabilities.  For example, you +can easily define a function that loads a file, prints its name, +executes it and, finally, shows the registers contents, all in one shot: + +@example +guile> (define my-load-and-run  @key{RET} +         (lambda (file)   @key{RET} +           (mix-load file)   @key{RET} +           (display "File loaded: ")   @key{RET} +           (mix-pprog)   @key{RET} +           (mix-run)   @key{RET} +           (mix-preg)))   @key{RET} +guile>  +@end example +@noindent +and use it to run your programs: + +@example +guile> (my-load-and-run "hello") +Program loaded. Start address: 3000 +File loaded: hello.mix +Running ... +MIXAL HELLO WORLD                                                      +... done +Elapsed time: 11 /Total program time: 11 (Total uptime: 33) +rA: + 00 00 00 00 00 (0000000000) +rX: + 00 00 00 00 00 (0000000000) +rJ: + 00 00 (0000) +rI1: + 00 00 (0000)	rI2: + 00 00 (0000)	 +rI3: + 00 00 (0000)	rI4: + 00 00 (0000)	 +rI5: + 00 00 (0000)	rI6: + 00 00 (0000)	 +guile>  +@end example + + +Or, maybe, you want a function which sets a breakpoint at a specified +line number before executing it: + +@example +guile> (define my-load-and-run-with-bp +         (lambda (file line) +           (mix-load file) +           (mix-sbp line) +           (mix-run))) +guile> (my-load-and-run-with-bp "samples/primes" 10) +Program loaded. Start address: 3000 +Breakpoint set at line 10 +Running ... +... stopped: breakpoint at line 10 (address 3001) +Elapsed time: 1 /Total program time: 1 (Total uptime: 45) +guile> +@end example + +As you can see, the possibilities are virtually unlimited. Of course, +you don't need to type a function definition each time you start +@code{mixguile}. You can write it in a file, and load it using Scheme's +@code{load} function. For instance, you can create a file named, say, +@file{functions.scm} with the contents: + +@example +(define my-load-and-run-with-bp +  (lambda (file line) +    (mix-load file) +    (mix-sbp line) +    (mix-run))) +@end example + +and load it at the @code{mixguile} prompt: + +@example +guile> (load "functions.scm") +@end example + + + +As a third example, the following function loads a program, runs it and +prints the contents of the memory between the program's start and end +addresses:  diff --git a/doc/mdk_index.texi b/doc/mdk_index.texi index 12f3d78..9c3a1db 100644 --- a/doc/mdk_index.texi +++ b/doc/mdk_index.texi @@ -4,13 +4,11 @@  @c   Free Software Foundation, Inc.  @c See the file mdk.texi for copying conditions. -@node Concept Index, , Copying, Top +@c $Id: mdk_index.texi,v 1.4 2001/09/13 00:13:39 jao Exp $ + +@node Concept Index, Instructions and commands, Acknowledgments, Top  @unnumbered Concept Index  @cindex tail recursion  @printindex cp -@c @node MIXAL instructions,  , Concept Index, Top -@comment  node-name,  next,  previous,  up -@c @unnumbered MIXAL instructions -@c @printindex fn diff --git a/doc/mdk_install.texi b/doc/mdk_install.texi index bf13742..a9aa9a8 100644 --- a/doc/mdk_install.texi +++ b/doc/mdk_install.texi @@ -64,18 +64,24 @@ libraries installed in your system:  @item  @uref{http://www.gnu.org/software/flex/flex.html, GNU Flex 2.3} (required)  @item -@uref{http://www.gtk.org, GTK+ 1.2.0} (optional) +@uref{http://www.gtk.org, GTK 1.2.0} (optional)  @item -@uref{ftp://ftp.gnome.org/pub/GNOME/stable/sources/libglade/, libglade} +@uref{ftp://ftp.gnome.org/pub/GNOME/stable/sources/libglade/, Libglade}  (optional)  @item -GNU readline and history libraries (optional) +@uref{http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html, GNU +Readline} +(optional) +@item +@uref{http://www.gnu.org/software/guile, GNU Libguile 1.3} (optional)  @end itemize  If present, readline and history are used to provide command completion -and history management to the command line MIX virtual machine, @code{mixvm} +and history management to the command line MIX virtual machine, @code{mixvm}.  GTK+ and libglade are needed if you want to build the graphical -interface to the MIX virtual machine, @code{gmixvm}. +interface to the MIX virtual machine, @code{gmixvm}. Finally, if +libguile is found, the @sc{mdk} utilities will be compiled with Guile +support and will be extensible using Scheme.  @strong{Please note}: you need both the libraries @emph{and} the  headers; this means both the library package and the @file{-dev} package @@ -107,16 +113,17 @@ you should see a message with the configuration results like the  following:  @example -*** GNU MDK 0.3 has been successfully configured. *** +*** GNU MDK 0.5 has been successfully configured. *** -Type make to build the following utilities: +Type 'make' to build the following utilities:      - mixasm (MIX assembler) -    - mixvm (MIX virtual machine, with readline support) -    - gmixvm (mixvm GTK+ GUI) +    - mixvm (MIX virtual machine, with readline support, with guile support) +    - gmixvm (mixvm GTK+ GUI, with guile support) +    - mixguile (the mixvm guile shell)  @end example  @noindent -where the last line may be missing if you lack the above mentioned +where the last lines may be missing if you lack the above mentioned  libraries.   The next command, @code{make}, will actually build the @sc{mdk} programs @@ -129,6 +136,8 @@ in the following locations:  @file{mixutils/mixvm}  @item  @file{mixgtk/gmixvm} +@item +@file{mixguile/mixguile}  @end itemize  You can run these programs from within their directories, but I @@ -159,15 +168,23 @@ optionally adding the following line to your @file{.emacs} file:  You can fine tunning the configuration process using the following  switches with configure: -@defopt --enable-gui[=yes|no] +@defopt @w{--enable-gui[=yes|no]}  @defoptx --disable-gui -Enables/disables the built of the MIX virtual machine GUI +Enables/disables the build of the MIX virtual machine GUI  (@code{gmixvm}). If the required libraries are missing  (@pxref{Requirements}) the configure script with automatically disable  this feature.  @end defopt -@defopt --with-readline[=yes|no] +@defopt @w{--with-guile[=yes|no]} +@defoptx --without-guile +Enables/disables the Guile support for @code{mixvm} and @code{gmixvm}, +and the build of @code{mixguile}.  If the  +required libraries are missing (@pxref{Requirements}) the configure +script with automatically disable this feature. +@end defopt + +@defopt @w{--with-readline[=yes|no]}  @defoptx --without-readline  Enables/disables the GNU Readline support for @code{mixvm}.  If the  required libraries are missing (@pxref{Requirements}) the configure @@ -193,7 +210,9 @@ Debian GNU/Linux 2.2/2.3  @item  Redhat GNU/Linux 7.0 (Agustin Navarro), 6.2 (Roberto Ferrero)  @item -FreeBSD 4.2 (Ying-Chieh Liao) +Mandrake 8.0 (Agustin Navarro) +@item +FreeBSD 4.2, 4.3 (Ying-Chieh Liao)  @item  Solaris 2.8/gcc 2.95.3 (Stephen Ramsay)  @item diff --git a/doc/mdk_intro.texi b/doc/mdk_intro.texi index 36a5a96..5464980 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.3 2001/09/10 23:42:14 jao Exp $ +@c $Id: mdk_intro.texi,v 1.4 2001/09/13 00:13:39 jao Exp $  @node Introduction, Installing MDK, Top, Top  @comment  node-name,  next,  previous,  up @@ -59,7 +59,8 @@ the possibility of manipulating a MIX virtual machine through a set of  Scheme functions, so that you can use this programming language to  interact with the virtual machine. In addition, @code{mixvm} and  @code{gmixvm} are also able to interpret Scheme scripts (using an -embedded Guile interpreter), that is, they are extensible using Scheme. +embedded Guile interpreter), that is, you can use Scheme as an extension +language to add new functionalities to these programs.  This manual gives you a tutorial of MIX and MIXAL, and a thorough  description of the use of the @sc{mdk} utilities. diff --git a/doc/mdk_mixasm.texi b/doc/mdk_mixasm.texi index 2524d89..7d08ef9 100644 --- a/doc/mdk_mixasm.texi +++ b/doc/mdk_mixasm.texi @@ -4,6 +4,8 @@  @c   Free Software Foundation, Inc.  @c See the file mdk.texi for copying conditions. +@c $Id: mdk_mixasm.texi,v 1.3 2001/09/13 00:13:39 jao Exp $ +  @node mixasm, Problems, gmixvm, Top  @comment  node-name,  next,  previous,  up  @chapter @code{mixasm}, the MIXAL assembler @@ -76,7 +78,7 @@ using this option.  @end defopt  @defopt -l -@defoptx --list[=list_file] +@defoptx @w{--list[=list_file]}  This option causes @code{mixasm} to produce, in addion to the  @file{.mix} file, an ASCII file containing a summary of the compilation  results. The file is named after the MIXAL source file, changing its diff --git a/doc/mdk_mixvm.texi b/doc/mdk_mixvm.texi index 480abbc..67c429c 100644 --- a/doc/mdk_mixvm.texi +++ b/doc/mdk_mixvm.texi @@ -4,6 +4,8 @@  @c   Free Software Foundation, Inc.  @c See the file mdk.texi for copying conditions. +@c $Id: mdk_mixvm.texi,v 1.7 2001/09/13 00:13:39 jao Exp $ +  @node mixvm, gmixvm, mixvm.el, Top  @comment  node-name,  next,  previous,  up  @chapter @code{mixvm}, the MIX computer simulator @@ -661,7 +663,7 @@ your favourite editor). The device files are stored, by default, in the  directory @file{~/.mdk}; this location can be changed using the  @code{mixvm} command @code{devdir} (@pxref{Configuration commands}). -@multitable {the device name} { xx-xx } {filename[x-x].dev} {bin  i/o }  +@multitable {the device name} { xx-xx } {filename[x-x].dev} {bin  i/o/char }   @item @emph{Device}  @tab @emph{No.} @tab @emph{filename} @tab @emph{type}  @item Tape @tab 0-7 @tab @file{tape[0-7].dev} @tab bin i/o  @item Disks @tab 8-15 @tab @file{disk[0-7].dev} @tab bin i/o diff --git a/doc/mdk_tut.texi b/doc/mdk_tut.texi index c22b50e..917919f 100644 --- a/doc/mdk_tut.texi +++ b/doc/mdk_tut.texi @@ -4,6 +4,8 @@  @c   Free Software Foundation, Inc.  @c See the file mdk.texi for copying conditions. +@c $Id: mdk_tut.texi,v 1.4 2001/09/13 00:13:39 jao Exp $ +  @node MIX and MIXAL tutorial, Getting started, Installing MDK, Top  @comment  node-name,  next,  previous,  up  @chapter MIX and MIXAL tutorial @@ -809,7 +811,7 @@ arbitrary units) of the MIX instructions are given.  @item @code{JRED} @tab 1 @tab @code{Jx} @tab 1 @tab @code{INCx}  @tab  1 @tab @code{DECx} @tab 1   @item @code{ENTx} @tab 1 @tab @code{ENNx} @tab 1 @tab @code{CMPx} -@tab  1 @tab @code{MOVE} @tab 1+F   +@tab  1 @tab @code{MOVE} @tab 1+2F    @end multitable  In the above table, 'F' stands for the number of blocks to be moved  | 
