IF YOU HAVE the QL Assembler from Sinclair Research you will find the QL Monitor, by Tony Tebby, a useful addition to your software library.
QL Monitor and the assembler are not compatible and cannot be run side by side, although they both use the same system of mnemonics.
The package provides disassembly, breakpoint setting and machine code trace facilities together with a simple line assembler. It is invoked with the command QMON at which point it will start running in the window at the bottom of the screen. You can make it run on any channel by adding the usual channel suffix to the basic command. As a result, it is possible to have several versions of the monitor running in different windows.
Disassembly is just a matter of typing the instruction D followed by the start and end addresses of a block of memory. The display format, shown when the command is invoked, is composed of a decimal representation of the instruction address, followed by the code for that instruction.
The Trace facility takes advantage of the trace flag within the 68008 processor. When the flag is set, each time an instruction is performed, QDOS calls QL Monitor and a check is made for errors.
There are two trace modes. The normal mode writes every instruction to the trace window as it is executed. The second mode is called Quick Trace. It monitors the program code in the same way as the first, but no record is made in the trace window of the instruction being executed.
Normally the trace facility is used to look at user application. programs which operate in the QDOS User Mode. It can, however, be used to monitor the execution of privileged code in Supervisor Mode.
If an error occurs within a machine code program it is possible to make a correction to the code using the Modify instruction, which allows you to alter one instruction line at a time. As well as being able to modify the contents of RAM you can also change the values stored in the data and address registers. The Status Register, Program Counter and Stack Pointer can be altered in order to set up programs with test data.
The booklet which accompanies the package is above average for a Sinclair Research publication, even though it provides barely adequate descriptions of the monitor instruction set. However, it does show how to extend SuperBasic using machine code subroutines. As Sinclair Research seems to make a habit of not including examples in its utility manuals, the booklet is certainly a step forward.
If you are shopping around for a monitor to go with your assembler then QL Monitor is worth bearing in mind. Its power and flexibility in dealing with straightforward machine code or QDOS traps and jobs puts it above almost all other monitors and disassemblers on the market. The only product which comes close to it is the Hi-Soft MON QL. Both packages are remarkably similar in performance and display.
|Publisher Sinclair Research Price £24.95|