Alphabetical List and Description of HESMON Commands
The following section lists the HESMON commands in alphabetical order
describing each in detail and giving example(s) of its usage.
A - The Simple Assembler
The HESMON simple assembler provides en easy
way to enter short M.L. programs. It does not have all the features
found in a complete assembler such as HESBAL in HES's 6502
Professional Development System for the VIC and Commodore 64, but it
provides increased convenience compared to POKEing from BASIC or
entering hexadecimal codes using a more primitive monitor. The syntax
of HESMON's Assembler command is as follows:
A 1111 MMM 00000
where '1111' is a four digit hexadecimal address in the C64's RAM,
'MMM' is a standard three character assembler mnemonic for a M.L.
operation code (opcode), such as JSR, LDA, etc. '00000' is the
'operand' of the op-code. It's beyond our scope here to discuss fully
the meaning of those parameters - for a complete discussion, consult a
book on 6502 assembly language programming. See Section I for a simple
example of A's usage. Notice that since all numeric operands MUST be
in hexadecimal notation the customary "$" preceding these numbers is
optional, as is the preceding 'X' or 'Y' in indexed instruction
operands. If HESMON understands the line, if will reprint it showing
the corresponding byte(s) of M.L. between the address and the
assembly code. HESMON will then prompt for the next line of assembly
code by displaying the next address followed by a space and the input
cursor. If HESMON cannot interpret the line, It will print '?' instead
of prompting for the next line. For example, you type:
A 1200 LDA#41
HESMON responds by overprinting your line and then prompting for the
next line as follows:
A 1200 A9 41 LDA#$41
A 1202
Note - HESMON ignores anything to the right of a ':' on the line.
B - Breakpoint Set
There are three different methods to return to HESMON from a M.L prog-
gram. The Breakpoint Set command is one of them. This command allows
you to designate an address in a program as a 'breakpoint,' that is, a
place where the program is to be halted and control is to be returned
to HESMON. Breakpoint Set also allows you to specify the number of
times the instruction at this address is to be executed before the
breakpoint is activated. The breakpoint defined with Breakpoint Set is
effective ONLY when the C64 is executing HESMON's Quick Trace command.
For example, to halt a program, first starts at address $1200, on the
fifth repetition of the instruction at address $1234, you would type:
B 1234 0005
Q 1200
The first line above sets the breakpoint at $1234 and the repeat count
to five. The second line initiates the Quick Trace mode of program
execution (see the Quick Trace command). When address $1234 has been
reached for the fifth time HESMON will halt execution of the program,
display the current values of the 6502 registers, and enter the
single-step mode of execution (see the Walk command).
The second method to return to HESMON from an ML program is to insert
a 6502 'BRK' instruction into the program. Obviously, since this
method requires program modification, it may be used only with
programs in RAM. Finally, HESMON may be called by simply pressing the
RESTORE key. In either of these last two cases, HESMON will be
re-entered whether or not the Quick Trace mode was active. If a BRK
instruction was encountered, the 'break' entry register display will
be printed showing the contents of the 6502 registers. Similarly, if
the RESTORE key is pressed, the RESTORE entry register is
shown in the latter case, the screen is cleared first. The RESTORE key
method of HESMON re-entry will work any time the HESMON cartridge is
plugged in - unless an RS232 file has been accessed or the 6502
attempted to execute an undefined opcode (one that disassembles as
'???'). After an RS232 file has been attempted, HESMON may be
re-entered from BASIC via a BRK instruction. Type 'SYS8' to cause a
break entry.
K.J. REVEALED TRILOGY PAGE [163] (C)1990 K.J.P.B.
<<previous page -
next page>>