,ll 6.6
,cs 10
,pl 66
,lm 0.2,0.5
,pn 5
,ju
,hd
,ce
OmegaSoft 6809 Cross Pascal Target Debugger (V1.0)
,,
,ft

,ce 1
14-##
,,
,ce
OmegaSoft 6809 Cross Pascal Target Debugger (V1.0)

,ce
COMMANDS

Commands are two letters followed by a space and then a number of parameters separated by spaces. If the command's second letter is in lower case on the menu then it need not be entered, only the first character. If only a carriage return is entered then the previous command entered will be repeated.

,ce
FILER MODE COMMANDS

As {file name}
Loads assembly language relocatable object files. The default suffix is ".ro". To resolve external references the standard runtime libary definitions are first searched, then the externals table, and if not in either of those, it will be deferred to link time by transferring the information into the ESD table. External definitions will be entered into the externals table. All modules in each file will be loaded, even in a library file.

Ch
Checks the definitions of stack based variables between modules to make sure they are consistent from one module to another. It also checks the parameters between entry and external procedures to make sure they match. This routine does not catch all possible conflicts, but is a good check of consistency between modules.

De <symbol> <value>
Allows symbols to be defined in the externals table. Value is taken to be an absolute value.

He
Help - displays a list of commands available in the current mode.

Ic {file name}
Loads intermediate code files. The default suffix is ".db". When looking for external definitions the standard runtime library definitions are first searched, and then the externals table. External definitions are entered into the externals table.

Li
Links the various modules together. Undefined externals are paired with the definitions in other modules. Cross references for variables in the debugger table are also made. This command must be used if you have loaded more than just the main program before exiting filer mode, or if you have used the T filer command. Any external definitions that match standard runtime routine names (such as INT05, etc.) are used by the user program instead of the default routines.

Pa
Change to pascal mode. Before this command will complete it checks to make sure there are no undefined externals and that a program has actually been loaded. The runtime jump table is then created right past the user program code, and then the data section is then moved from the top of the user's memory, with the heap starting right past the data section.

St [M][S]
Displays the usage of the various memory areas. If the M option is specified it will also display information about each module loaded. If the S option is specified then it will also display the externals table and any undefined debugger symbols.
,ce
FILER MODE COMMANDS

Sv Vn <name>
Sets exception vector number n (decimal) to the location of routine <name> from the externals table. The vectors are as follows :
  
1 = SWI3    2 = SWI2    3 = FIRQ    4 = IRQ    5 = SWI   6 = NMI

SWI should never be changed, as it is used in assembly mode for breakpoints. If the IRQ vector is set then it is checked after the interrupts for the host-target serial link.

Qu
Quit debugger

T
Enters into the externals table the locations of the default handlers for standard Input, Output, and Keyboard devices. This allows the host systems terminal to be used for the target program's standard input, output, and keyboard devices.

$<command line>
If supported on your version, allows you to pass the command line to the operating system. See chapter 2 for details.

,ce
PASCAL MODE

This mode allows debugging at the pascal level. You cannot return to the filer mode but you can switch back and forth between assembly mode and pascal mode.

,ce
VARIABLE SYNTAX

Variables are referenced by name. The names are truncated to 16 characters and upper and lower case are equivalent. When accessing complex variables no spaces are allowed in the specification of the variable. For instance an array can be accessed as variable[5] but not variable [5].

Record parts may be referenced by using a period and then the record part name. 

Arrays may be indexed by using [, the index, and then ]. Multi-dimensional arrays may be indexed either by using [idx1][idx2]..[idxn] or by [idx1,idx2..idxn] format. The allowable format for each index is determined by the array definition :

  Boolean, subrange boolean : False or True

  Character, subrange character : hex number or an single quote "'" followed by a printable character.

  Integer, subrange integer, longinteger, or subrange longinteger : integer or longinteger number.

  Hex, subrange hex, longhex, subrange longhex : hex or longhex number.

  Strings can be indexed by using [, the index, and then ]. The index must be an integer.

  Pointers may be de-referenced by using a ^.
,ce
PACAL COMMANDS

  Devices may have their element buffer accessed by using a ^.

,ce
LINE NUMBER SYNTAX

Line numbers have the following format : [module.]line
Module is the module (or program) name of the module. If it is not specified then the current module you are in is used. If you have not started the program then the first module is assumed. 

,ce
PASCAL MODE COMMANDS

As
Change to assembly debug mode

Br {<line>[/cnt][;mac]}
Sets a breakpoint at the indicated line numbers. The line numbers that can be breakpointed are indicated by an "*" after the line number in the compiler listing. If count is not specified it is assumed to be zero. 

A count of zero or one means the program will stop at the line the first time it is hit. A count of more than one means that the program will stop after it has hit that line cnt number of times (cnt = 2 will stop when the line is encountered twice). Up to 16 breakpoints may be set. If no line numbers are specified then the current breakpoints will be displayed. If a macro is specified, it will be executed when the breakpoint is hit.

Ch <variable>
Change variable. See description of variable above. The allowable format for entries depends on the declaration of the variable :

Boolean or subrange boolean : false or true.

Character, subrange character, or element of text variable : hex byte or a single quote "'" followed by a printable character.

Integer or subrange integer : integer number.

Hex or subrange hex : hex number.

Longhex or subrange longhex : longhex number.

Longinteger or subrange longinteger : longinteger number.

Real : real number.

Enumerated type : integer equivalent (first in list has value 0).

String : If first character is single quote "'" then the rest of the characters on the line are used as the string. If not then the first hex number is used as the dynamic length and following numbers as successive bytes in the string. Entry is terminated when you have entered all the numbers corresponding to the dynamic length of the string or until there is a hex conversion error.
,pg
,ce
PASCAL MODE COMMANDS

Set : This is menu driven allowing you to add elements, remove elements, or null out the set. If you are adding or removing elements they may be in the following formats :
  'X   : X is a printable character
  $nn  : nn is a hex number
  nn   : nn is an integer number.

Array, Record, Device : These are referred to as structures. The only allowable entry format is hex numbers, with each hex number corresponding to a byte. Entry is continued (even past the end of the structure if desired) until a period is read instead of a hex number.

Di <variable>
Display variable. See description of variable above. The format used to display the variable is determined by the declaration of the variable :

Boolean and subrange boolean : FALSE or TRUE.

Character, subrange character, and element of text device : If the character is printable it is displayed between single quotes. In any case it's hex value is displayed.

Integer and subrange integer : integer number.

Hex and subrange hex : hex number.

Longhex and subrange longhex : longhex number.

Longinteger and subrange longinteger : longhex number.

Real : floating point number with 6 digits past the decimal point.

Enumerated type : integer and hexadecimal equivalent.

String : If all characters in the string are printable then it is displayed between single quotes. If there are any non-printable characters then the string is displayed as a series of hex numbers.

Set : The format depends on the base type of the set and are identical to the formats above.

Array, Record, and Device : These are referred to as structures and they are displayed as a series of hex numbers with their printable values where applicable. The assembly language dump memory routine is used to display structures.

DS <variable>
Display variable as a structure.

Go [<line>]
Start pascal program from the beginning. If specified there will be a temporary breakpoint inserted at the given line. Temporary breakpoints are removed when ANY breakpoint is encountered.

He
Help message that displays a menu of commands valid in this mode.

