.TITLE HELP .IDENT "V1.8" .NLIST BEX ; ; Author: D. Mischler 15-JUN-87 ; ; This module displays helpful text upon request. ; CR = 'M-100 LF = 'J-100 .MCALL QIOW$S .PSECT CODE,I,RO ; ; Analyze remainder of command line for parameters. ; HELP:: MOV #GENHLP,R2 ; Point to general help text. CALL U$FNXT ; Find next parameter, OK? BCS 10$ ; No, dump general help text. MOV #HLPTBL,R1 ; Point to help dispatching table. CALL U$DCOD ; Attempt to decode parameter keyword, OK? BCS 30$ ; No, complain. 10$: MOV R2,R0 ; Copy text address. 20$: TSTB (R0)+ ; Found end of text yet? BNE 20$ ; No, keep looking. DEC R0 ; Fix end pointer. SUB R2,R0 ; Get text length. QIOW$S #IO.WVB,#TI,#IOEFN,,,, RETURN ; Here if an unknown parameter is passed. 30$: CALLR ERROR ; Dump error message and exit. .PAGE .PSECT RODATA,D,RO ; ; Help keyword table. ; HLPTBL: KEYWRD CANCEL,CANHLP KEYWRD DEFINE,DEFHLP KEYWRD DEPOSIT,DEPHLP KEYWRD EVALUATE,EVAHLP KEYWRD EXAMINE,EXAHLP KEYWRD EXIT,EXIHLP KEYWRD EXPRESSIONS,EXPHLP KEYWRD GO,GOHLP KEYWRD HELP,HLPHLP KEYWRD LOAD,LODHLP KEYWRD MODES,MODHLP KEYWRD RANGES,RNGHLP KEYWRD SET,SETHLP KEYWRD SHOW,SHOHLP KEYWRD STEP,STPHLP KEYWRD TYPES,TYPHLP KEYWRD UNDEFINE,UNDHLP .WORD 0 .PSECT STRING,D,RO ; ; General help text. ; GENHLP: .BYTE LF .ASCII "Help is available on the following commands and features:" .ASCII "CANCEL DEFINE DEPOSIT EVALUATE EXAMINE EXIT" .ASCII "expressions GO HELP LOAD modes" .ASCII "ranges SET SHOW STEP types UNDEFINE" .BYTE LF,0 ; ; CANCEL help text. ; CANHLP: .BYTE LF .ASCII "Eliminates one or more break, trace, or watchpoints," .ASCII "or all profile ranges." .ASCII "Cancel[/All] [Break,Trace,Watch] (address list)" .ASCII "Cancel Profile" .BYTE LF,0 ; ; DEFINE help text. ; DEFHLP: .BYTE LF .ASCII "Defines a symbol with the specified value." .ASCII "DEFine symbol=value" .BYTE LF,0 ; ; DEPOSIT help text. ; DEPHLP: .BYTE LF .ASCII "Deposits one or more values in memory. Types are" .ASCII "Byte, Instruction (separate with ;), Word (default)." .ASCII "DEPosit[/type] address=value[,value]" .BYTE LF,0 ; ; EVALUATE help text. ; EVAHLP: .BYTE LF .ASCII "Evaluates an expression and displays the value in signed and" .ASCII "unsigned decimal, binary, octal, hexadecimal, RAD50 and ASCII." .ASCII "EValuate expression" .BYTE LF,0 ; ; EXAMINE help text. ; EXAHLP: .BYTE LF .ASCII "Displays the specified value(s) or range(s)." .ASCII "EXAmine[/mode][/type] range[,range]" .BYTE LF,0 ; ; EXIT help text. ; EXIHLP: .BYTE LF .ASCII "Terminates the debugging session." .ASCII "EXIt" .BYTE LF,0 ; ; Expressions help text. ; EXPHLP: .ASCII "All addresses and numeric values in a command are represented" .ASCII "by expressions. Expressions may contain constants, symbols," .ASCII "and operators. Constants are normally interpreted according" .ASCII "to the current radix, but this may be overridden by a monadic" .ASCII "operator. A constant is assumed to be decimal if it is fol-" .ASCII "lowed by a period. Symbols may consist of the letters A-Z," .ASCII "the digits 0-9, and the special characters '.', and '$'." .ASCII "Symbols may not begin with a decimal digit. There are two" .ASCII "kinds of operators: monadic and dyadic. Monadic operators" .ASCII "take only a single value, and are right-associative. Dyadic" .ASCII "operators require two values and are left-associative. Angle" .ASCII "brackets '<>' may be used to specify evaluation order." .ASCII "The following monadic operators exist:" .ASCII /' = ASCII byte " = ASCII word @ = indirect - = negation/ .ASCII "^B = binary ^C = 1's complement ^D = decimal ^O = octal" .ASCII "^R or % = RAD50 ^X = hexadecimal" .ASCII "The following dyadic operators exist:" .ASCII "+ = add & = and / = divide * = multiply ! = or" .ASCII "- = subtract" .BYTE 0 ; ; GO help text. ; GOHLP: .BYTE LF .ASCII "Begins or resumes program execution." .ASCII "Go [address]" .BYTE LF,0 ; ; HELP help text. ; HLPHLP: .BYTE LF .ASCII "Displays brief help text on various topics." .ASCII /For a list of topics type "HELP" with no topic./ .ASCII "Help [topic]" .BYTE LF,0 ; ; LOAD help text. ; LODHLP: .BYTE LF .ASCII "Loads a symbol table file into the symbol table." .ASCII "Load file" .BYTE LF,0 ; ; Modes help text. ; MODHLP: .BYTE LF .ASCII "There are several mode parameters that may be set by the user." .ASCII "The SET MODE command may be used to permanently set these" .ASCII "parameters. In addition, several commands permit qualifiers" .ASCII "which set the parameters for that command only." .ASCII "The following mode parameters currently exist:" .ASCII "Leading zeroes - Leading, NOLeading" .ASCII "Radix - Binary, Decimal, Hexadecimal, Octal" .ASCII "Signed values - SIGned, Unsigned" .IF DF I$MTPS .ASCII "Simulation of stepped - SIMulate, NOSIMulate" .ASCII " instructions" .ENDC .ASCII "Single value/line - SINgle, NOSINgle" .ASCII "Symbolic values - SYmbolic, NOSYmbolic" .BYTE LF,0 ; ; Ranges help text. ; RNGHLP: .BYTE LF .ASCII "Several commands allow an address range as a parameter." .ASCII "Such a range is normally specified by a start address and" .ASCII "an end address separated by a colon with no intervening" .ASCII "spaces. If no colon or end address is specified then the" .ASCII "start and end addresses will be the same." .ASCII "(start address)[:(end address)]" .BYTE LF,0 ; ; SET help text. ; SETHLP: .BYTE LF .ASCII "Sets various debugger parameters." .ASCII "SEt Break (address list)" .IF DF I$MTPS .ASCII "SEt History (# of instructions)" .ENDC .ASCII "SEt Log (log file name)" .ASCII "SEt Mode mode [mode]" .ASCII "SEt Output [(NO)Attach] [(NO)Log] [(NO)Term] [(NO)Verify]" .ASCII "SEt Profile range [compression factor]" .ASCII "SEt TRace (address list)" .ASCII "SEt TYpe type" .ASCII "SEt Watch (address list)" .BYTE LF,0 ; ; SHOW help text. ; SHOHLP: .BYTE LF .ASCII "Displays various debugger parameters." .ASCII "The following parameters may be shown:" .IF DF I$MTPS .ASCII "Break History[/Instructions][/Registers][ Count]" .ASCII "Mode Output Profile[/Counters]" .IFF .ASCII "Break Mode Output Profile[/Counters]" .ENDC .ASCII "Symbol TRace TYpe Watch" .BYTE LF,0 ; ; STEP help text. ; STPHLP: .BYTE LF .ASCII "Executes one or more machine instructions." .ASCII "STep [step count]" .BYTE LF,0 ; ; Types help text. ; TYPHLP: .BYTE LF .ASCII "Several data types are understood by the debugger. The" .ASCII "default data type may be set with the SET TYPE command." .ASCII "In addition, several commands allow type qualifiers." .ASCII "The following data types are recognized:" .ASCII "ADdress AScii Byte Instruction Rad50 Word" .BYTE LF,0 ; ; UNDEFINE help text. ; UNDHLP: .BYTE LF .ASCII "Removes one or more symbols from the symbol table." .ASCII "Undefine symbol[,symbol]" .BYTE LF,0 .END