Pronounced eff-mon
rather than Fmon, this is a
simple package consisting of a
program on tape and a manual.
The brief from Fsoft describes
it as a powerful machine code
monitor for the BBC Micro. On
the surface it appears similar to
other available packages, some
of which are provided in ROM.
However, despite appearances
this is a program somewhat
out of the ordinary. It is
good software, professional and
complete, complex but under no
pretence as to its limitations, well
written and adequately
explained.
It is a package which exudes
that intangible substance -
quality.
To back up this statement, it is
necessary to explain what it
does. To quote the manual
again, it includes "a disass
embler, a relocator, a line
assembler, a trace mode, break
points, user defined variables,
fully recursive procedures and
full support of MOS and VDU
commands".
In other words if you wish to
debug machine code programs,
write small test programs in
assembler, develop ROM based
software, or simply satisfy your
curiosity about the contents of
memory, all that is required is to
load this into a spare(?) 5k and
set off.
At the programmer's disposal
are a number of one letter
commands which can be strung
together into sentences or used
in isolation.
The commands fall into three
categories, the first of which
allows manipulation of numbers
in three general purpose registers
called system variables.
The second category use the
numbers in the system variables
as arguments when performing
various tasks.
These include block moves,
disassembly, subroutine jumps,
tracing, hex and Ascii dumps of
memory, string searches and a
very powerful machine code
relocation command — to
mention but a few of the many
available.
>
The third category might be
termed miscellaneous com
mands. These do not use the
system variables but merely
serve to make the package more
powerful and easier to use.
The most notable of these
powerful features is definition of
fully recursive procedures -
macros - and user variables.
These can be saved and
restored from disc or tape so a
number of standard macros can
be defined for commonly used
operations —the example given
in the documentation is a hex
dump of zero page.
p>
It is designed to serve those
familiar with the workings of the
BBC Micro and with 6502
machine code. Given this,
programmers should seriously
consider including it as a prized
utility in their toolbox.