Previous: Using mixguile, Up: Getting started [Contents][Index]
mixvm and gmixvmIn the previous section (see Using mixguile) we have seen how the
Guile shell mixguile offers you the possibility of using Scheme
to manipulate a MIX virtual machine and extend the set of commands
offered by mixvm and gmixvm. This possibility is not
limited to the mixguile shell. Actually, both mixvm and
gmixvm incorporate an embedded Guile interpreter, and can
evaluate Scheme expressions. To evaluate a single-line expression at the
mixvm or gmixvm command prompt, simply write it and press
return (the command parser will recognise it as a Scheme expression
because it is parenthesized, and will pass it to the Guile
interpreter). A sample mixvm session using Scheme expressions
could be:
MIX > load hello Program loaded. Start address: 3000 MIX > (define a (mix-loc)) MIX > run Running ... MIXAL HELLO WORLD ... done Elapsed time: 11 /Total program time: 11 (Total uptime: 11) MIX > (mix-pmem a) 3000: + 46 58 00 19 37 (0786957541) MIX > (mix-pmem (mix-loc)) 3002: + 14 09 27 01 13 (0237350989) MIX >
You can also load and evaluate a file, using the scmf
command like this:
MIX> scmf /path/to/file/file.scm
Therefore, you have at your disposal all the mixguile goodies
described above (new functions, new command definitions, hooks...)
inside mixvm and gmixvm. In other words, these programs
are extensible using Scheme. See Using mixguile for examples of
how to do it.