summaryrefslogtreecommitdiffhomepage
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/mdk_mixal-mode.texi97
1 files changed, 97 insertions, 0 deletions
diff --git a/doc/mdk_mixal-mode.texi b/doc/mdk_mixal-mode.texi
new file mode 100644
index 0000000..a3d53b1
--- /dev/null
+++ b/doc/mdk_mixal-mode.texi
@@ -0,0 +1,97 @@
+@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.
+
+@node mixal-mode.el, mixvm.el, Getting started, Top
+@comment node-name, next, previous, up
+@chapter mixal-mode.el
+
+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.
+
+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}.
+
+@menu
+* Basics:: Editing code, font locking and indentation.
+* Help system:: Using the interactive help system.
+* Compiling and running:: Invoking compiler and/or virtual machine.
+@end menu
+
+@node Basics, Help system, mixal-mode.el, mixal-mode.el
+@comment node-name, next, previous, up
+@section Basics
+
+The mode for editing mixal source files is inherited from
+fundamental-mode, meaning that all your favorite editing operations
+will still work. If you want a short introduction to Emacs, type
+@kbd{C-h t} inside Emacs to start the tutorial.
+
+Mixal mode adds font locking. If you do not have font locking globally
+enabled, you can turn it on for mixal-mode by placing the following
+line in your @file{.emacs} file:
+
+@lisp
+(add-hook 'mixal-mode-hook 'turn-on-font-lock)
+@end lisp
+
+You can also customize the colors used to colour your mixal code by
+changing the requisite faces. This is the list of faces used by
+mixal-mode:
+
+@itemize
+@item @var{font-lock-comment-face}
+Face to use for comments.
+@item @var{mixal-font-lock-label-face}
+Face to use for label names.
+@item @var{mixal-font-lock-operation-code-face}
+Face to use for operation code names.
+@item @var{mixal-font-lock-assembly-pseudoinstruction-face}
+Face to use for assembly pseudo-instruction names.
+@end itemize
+
+@node Help system, Compiling and running, Basics, mixal-mode.el
+@comment node-name, next, previous, up
+@section Help system
+
+When coding your program, you will be thinking, looking up
+documentation and editing files. Emacs already helps you with editing
+files, but Emacs can do much more. In particular, looking up
+documentation is one of its strong points. Besides the info system
+(which you are probably already using), mixal-mode defines commands
+for getting particular information about a MIX operation code.
+
+With @kbd{M-x mixal-describe-operation-code} (or its keyboard shortcut
+@kbd{C-h o}) you will get the documentation about a particular MIX
+operation code. Keep in mind that these are not assembly (MIXAL)
+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
+@comment node-name, next, previous, up
+@section 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
+need to compile your code into MIX byte code. This can be done within
+Emacs with the command @kbd{M-x compile} (@kbd{C-c c}). In case of
+compilation errors, you can jump to the offending source code line
+with @kbd{M-x next-error}.
+
+Once the program compiles without errors, you can debug or run
+it. To invoke the debugger, use @kbd{M-x mixal-debug} (@kbd{C-c d}).
+Emacs will open a @code{GUD} buffer where you can
+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.