diff options
Diffstat (limited to 'doc/mdk_gmixvm.texi')
-rw-r--r-- | doc/mdk_gmixvm.texi | 118 |
1 files changed, 118 insertions, 0 deletions
diff --git a/doc/mdk_gmixvm.texi b/doc/mdk_gmixvm.texi new file mode 100644 index 0000000..f3ed33b --- /dev/null +++ b/doc/mdk_gmixvm.texi @@ -0,0 +1,118 @@ +@node gmixvm, mixasm, mixvm, Top +@comment node-name, next, previous, up +@chapter gmixvm +@cindex @code{gmixvm} +@cindex GUI +@cindex GTK+ + +@menu +* Invoking @code{gmixvm}:: Invoking the GTK+ interface. +* MIX virtual machine:: The MIX virtual machine window. +* Menu and status bars:: Available menu commands. +@end menu + +@node Invoking @code{gmixvm}, MIX virtual machine, gmixvm, gmixvm +@comment node-name, next, previous, up +@section Invoking @code{gmixvm} + +If you have built @sc{mdk} with GTK+ support (@pxref{Installing MDK}), a +graphical front-end for the MIX virtual machine will be available in +your system. You can invoke it by typing + +@example +gmixvm @kbd{RET} +@end example + +@noindent +at your command prompt. The @code{gmixvm} main window will appear, +offering you a graphical interface to run and debug your MIX programs. + +@image{ss_mix} + +Apart from the menu and status bars, we can distinguish two zones (or +halves) in this main window. In the upper half of @code{gmixvm}'s main +window there is a notebook with three pages, namely, + +@itemize +@item +a MIX virtual machine view, which shows you the registers, flags, memory +contents and time statistics of the virtual machine; +@item +a MIXAL source view, which shows the MIXAL file and lets you manage +breakpoints; +@item +a Devices view, which shows you the output to character based MIX block +devices. +@end itemize + +@noindent +On the other hand, the main window's lower half presents you a +@code{mixvm} command prompt and a logging area where results of the +issued commands are presented. + +The following sections describe the above mentioned components of +@code{gmixvm}. + +@node MIX virtual machine, Menu and status bars, Invoking @code{gmixvm}, gmixvm +@comment node-name, next, previous, up +@section MIX virtual machine + +The first notebook's page displays the current status of the virtual +machine. There you can find the registers' contents, the value of the +comparison and overflow flags, the location pointer, a list with all MIX +memory cells and their contents, and the time statistics (including +total uptime, elapsed time since the last run command and total +execution time for the currently loaded MIX program). + +Clicking any register entry, you will be prompted for a new register's +contents +@ifnotinfo +(as shown in the next figure). +@image{ss_worddlg} +@end ifnotinfo + +In the same manner, click on any address of the memory cells list to be +prompted for the new contents of the clicked cell. If you click the +address column's title, a dialog asking you for a memory address will +appear; if you introduce a valid address, this will be the first cell +displayed in the scrollable list after you click the OK button. + + +@node Menu and status bars, , MIX virtual machine, gmixvm +@comment node-name, next, previous, up +@section Menu and status bars + +The menu bar gives you access to the following commands: + +@deffn File Load... +Opens a file dialog that lets you specify a binary MIX file to be loaded +in the virtual machine's memory. It is equivalent to the @code{mixvm}'s +@code{load} command (@pxref{File commands}). +@end deffn + +@deffn File Exit +Exits the application. +@end deffn + +@deffn Debug Run +Runs the currently loaded MIX program, up to the next breakpoint. It is +equivalent to the @code{mixvm}'s @code{run} command (@pxref{Debug +commands}). +@end deffn + +@deffn Debug Next +Executes the next MIX instruction. It is equivalent to the +@code{mixvm}'s @code{next} command (@pxref{Debug commands}). +@end deffn + +@deffn Debug Clear breakpoints +Clears all currently set breakpoints. It is equivalent to the +@code{mixvm}'s @code{cabp} command. +@end deffn + +@deffn Help About... +Shows information about @code{gmixvm}'s version and copyright. +@end deffn + +On the other hand, the status bar displays the name of the last loaded +MIX file. |