DOSPLUS 3.5 for the Model I - HELP/CMD Disassembled

Page Customization

Introduction/Summary

DOSPLUS 3.5 HELP/CMD Disassembly - The Syntax Help of the Commands (Model I)

HELP/CMD shows the syntax and the parameters of a DOSPLUS 3.5 library command or utility, run from the DOS command level as HELP [FROM] command [TO] fs/@ds. It is a load module of 9 blocks, 1809 bytes, at 5200H-5906H and 5A2AH-5A33H with the transfer address 5200H, after the two comment records (the name HELP and the copyright notice). The code (5200H-534FH) and the dictionary (5350H-5505H) are the same in both models apart from addresses; the Model III texts show the optional parts in [ ] where the Model I has < >, and are 8 bytes longer, so every address after them is 8 higher on the Model III, as is LOCDCB% (4488H on the Model I, 44A0H on the Model III). This page is the Model I one.

The Parts of HELP/CMD

AddressContents
5200H-5231HEVAL@ and the output: @DO, a device, or a file opened by INIT@ (5200H).
5232H-525CHThe name compared with the words of the dictionary (5232H).
525DH-5288HThe text of a command (525DH).
5289H-530EHRoutines: a byte of a text, a character and a tab, the column count, the output, the close of a file, a line (5289H, 52B5H, 52D1H, 52E8H, 52F2H, 5301H).
530FH-534FHThe list of the commands, and an error (530FH, 534BH).
5350H-5505HThe dictionary of 89 words (5350H).
5506H-58BDHThe 49 texts (5506H).
58BEH-5A33HThe heading of the list, the variables and the evaluation block ([58BEHH], [5A2AHH]).

How HELP Works

EVAL@ puts the first field of the command line into the source block (58E6H) and a second field, or the field after TO, into the destination block (5909H); the evaluation block names the same block for the wildmask, so a field with a wildcard is taken as the output too, and its parameter block is empty. With no destination the output is device 1, @DO (520FH). A destination with a name is opened as a file by INIT@, with the text of the field as its file control block and a buffer of 256 bytes (5221H); any other destination is taken by the number in bits 0-2 of its flag byte and LOCDCB%% (522BH), so that a drive :d as the destination sends the output to the device numbered d (:2 is @PR). Every character goes out through the ROM's 001BH (52E8H), and a file is closed when HELP ends (52F2H).

The name is compared with the first 49 words of the dictionary (5232H). A word matches only when the name ends, with its 03H, where the word ends: HELP takes no abbreviations, and a name with an extension or a drive matches nothing. A match shows the text of the same number (525DH); no match, or no name, shows the heading HELP is available for the following: and the 49 words, five to a row in columns of 12 (530FH). Word 39 is a carriage return: it ends the row of SCREEN, SYSTEM, TIME and VERIFY, and the tab and the end of the row after it make a line of 12 spaces before the nine utilities.

The texts are tokenized: a byte of 80H and up is a word of the dictionary, numbered by its bits 0-6 (5289H), so that the names of the commands, the keywords FROM, TO and USING, the kinds of field (fs, @ds, :dr, wildmask) and value (=switch, ='string', =value) and the names of the common parameters are each stored once. A tab moves to the next multiple of 15 columns in a text and of 12 in the list; the width is stored into the SUB at 52C0H (525EH, 5310H), and the column is counted by 52D1H.

Differences from the Manual

The manual (Utilities, HELP) gives the syntax and the list of the commands and utilities, the example HELP COPY and the output to a device (HELP ATTRIB TO @PR), and HELP agrees with it. The manual does not say that the name must be given in full, that the output may also be a file, or that a drive given as the output is taken as a device number. The texts themselves differ from the commands in one place: the text of FORMAT gives SIZE=value, a parameter FORMAT/CMD does not have; its count of sides is SIDES (5B61H), and EVAL@ does not take SIZE as an abbreviation of it.

The Model I list and texts name seven utilities that are not on the Model I master: CONVERT, DIRCHECK, DISKDUMP, MAP, PATCH, RESTORE and SYSGEN; only BACKUP and FORMAT of the nine are there. The Model I texts also differ from the Model III ones in three places: CONFIG lists HC=value for a rigid drive, CREATE gives DATA=switch, and SYSTEM has no MODE and PORT.

Variables

HELP/CMD Variables

Address
Size
Contents
58E5H
1 byte
Column
The column count of the output, 00H at the start of a line (52E4H).
58E6H-5906H
33 bytes
Source block
The flag byte and the text of the name asked about (5232H).
5907H-5908H
2 bytes
Output
The address of the DCB or of the file control block (522EH).
5909H-5929H
33 bytes
Destination block
The flag byte, and the text that is the file control block of an output file (5213H).
592AH-5A29H
256 bytes
Buffer
The buffer of an output file (521CH).
52C1H
1 byte
Tab width
The operand of the SUB at 52C0H: 0FH for a text, 0CH for the list (5260H, 5312H).

Outside Routines

AddressContents
4479HSYS0/SYS: EVAL@ (5204H).
4420HSYS0/SYS: INIT@ (5221H).
4488HSYS0/SYS: LOCDCB%% (522BH).
4428HSYS0/SYS: CLOSE@ (52FAH).
4409HSYS0/SYS: ERROR@ (52FDH, 534DH).
001BHROM: send a character to a device or a file (52EDH).

Disassembly

5200H - HELP

HELP/CMD's transfer address, entered from the DOS command level with Register Pair HL at the command line after the word HELP: HELP [FROM] command [TO] fs/@ds. EVAL@ takes the name asked about into the source block at 58E6H and an output file or device into the block at 5909H. HELP compares the name with the first 49 words of its dictionary (5350H): a match shows the text of that command, any other name, or none, shows the list of the 48 commands and utilities HELP knows. The output goes to @DO, or to the device or the file given, and a file is closed at the end. HELP returns to the DOS by RET, or leaves through ERROR@.

5200
LD IX,5A2AH DD 21 2A 5A
Point Index Register IX to 5A2AH, HELP's evaluation block for EVAL@: the source and destination blocks and an empty parameter block.
5204
GOSUB to 4479H, EVAL@, to take the fields of the command line at Register Pair HL into the blocks of Index Register IX.
5207
If the NZ FLAG is set (EVAL@ returned an error code in Register A), JUMP to 534BH to post it through ERROR@.
520A
LD A,06H 3E 06
Load Register A with 06H, the mask of bits 1 and 2 of the flag byte: a destination or a wildmask field was given.
520C
AND (IX+00H) DD A6 00
AND Register A with the flag byte at Index Register IX+00H: the Z FLAG when neither a destination nor a wildmask field was given.
520F
LD A,01H 3E 01
Load Register A with 01H, the number of the device @DO, the display; the load leaves the Z FLAG of the AND as it was.
5211
If the Z FLAG is set (no destination field), JUMP to 5229H to find the DCB of device 01H, @DO, from Register A.
5213
LD DE,5909H 11 09 59
Point Register Pair DE to 5909H, the destination block: its flag byte, then the text of the field.
5216
LD A,(DE) 1A
Load Register A with the flag byte of the destination block at Register Pair DE: bit 6 a name, bits 0-2 a device number.
5217
INC DE 13
INCrement Register Pair DE by 1, to 590AH, the text of the field, which becomes the file control block of an output file.
5218
BIT 6,A CB 77
Test bit 6 of Register A, the flag byte: set when the destination field holds a file name.
521A
If the Z FLAG is set (no name: a device or a drive), JUMP to 5229H to find a DCB from the number in Register A.
521C
LD HL,592AH 21 2A 59
Point Register Pair HL to 592AH, the 256 byte buffer of an output file.
521F
LD B,00H 06 00
Load Register B with 00H, the logical record length 256 for INIT@.
5221
GOSUB to 4420H, INIT@, to open or create the file of the file control block at Register Pair DE, with the buffer at Register Pair HL and the record length in Register B.
5224
If the NZ FLAG is set (INIT@ failed, its error code in Register A), JUMP to 534BH to post it through ERROR@.
5227
JUMP to 522EH to keep Register Pair DE, the address of the file control block, as the address of the output.
5229
AND 07H E6 07
AND Register A with 07H to keep bits 0-2, the number of the device: a drive field :d (LOCDEV@'s 08H + d) leaves d, so d is taken as a device number.
522B
GOSUB to 4488H, LOCDCB%, to load Register Pair DE with the address of the DCB of the device numbered by Register A.
522E
LD (5907H),DE ED 53 07 59
Store Register Pair DE, the address of the DCB or of the file control block, into 5907H-5908H, where every output takes it from.

5232H - Look Up the Name

The name in the source block is compared with the words of the dictionary, the first character of each without its bit 7; a word matches when the name ends (03H) where the word does. Register B counts the words from 1; at 32H (50) the 49 words with a text have all failed.

5232
LD DE,58E7H 11 E7 58
Point Register Pair DE to 58E7H, the text of the source field: the name HELP was asked about, ended by 03H.
5235
LD HL,5350H 21 50 53
Point Register Pair HL to 5350H, the first word of the dictionary, APPEND, to compare the name with it.
5238
LD B,01H 06 01
Load Register B with 01H, the number of the first word counted from 1, which is also the number of its text.
523A
PUSH DE D5
Save Register Pair DE, the start of the name, to the top of the stack for the compare with the next word.
523B
LD A,32H 3E 32
Load Register A with 32H (50), one past the 49 words of the dictionary that have a text.
523D
CP B B8
Compare Register A (32H) against Register B: the Z FLAG when Register B reaches 32H, so that the name matched none of the 49 words.
523E
If the Z FLAG is set (no match), JUMP to 530FH to show the list of the commands and utilities HELP knows.
5241
LD A,(DE) 1A
Load Register A with the next character of the name, from Register Pair DE.
5242
LD C,(HL) 4E
Load Register C with the next character of the word, from Register Pair HL.
5243
RES 7,C CB B9
Reset bit 7 of Register C: the first character of each word carries bit 7, the mark of the start of a word.
5245
CP C B9
Compare Register A, the character of the name, against Register C, the character of the word: the Z FLAG when they are equal.
5246
If the NZ FLAG is set (they differ), JUMP to 5254H to pass the rest of the word and try the next one.
5248
INC HL 23
INCrement Register Pair HL by 1, to the next character of the word in the dictionary.
5249
INC DE 13
INCrement Register Pair DE by 1, to the next character of the name in the source block.
524A
BIT 7,(HL) CB 7E
Test bit 7 of the byte at Register Pair HL: set at the first character of the next word, so at the end of this one.
524C
If the Z FLAG is set (the word goes on), LOOP BACK to 5241H to compare the next two characters.
524E
LD A,(DE) 1A
Load Register A with the character of the name at Register Pair DE that follows the length of the word.
524F
CP 03H FE 03
Compare Register A against 03H: the Z FLAG when the name ends there too, so that the whole name matches the word.
5251
If the Z FLAG is set (a match), JUMP to 525DH to show the text numbered by Register B.
5253
DEC HL 2B
DECrement Register Pair HL by 1, back to the last character of the word, for the pass to the next word below.
5254
POP DE D1
Restore Register Pair DE, the start of the name, from the top of the stack, for the compare with the next word.
5255
INC HL 23
INCrement Register Pair HL by 1, to the next byte of the dictionary while looking for the next word.
5256
BIT 7,(HL) CB 7E
Test bit 7 of the byte at Register Pair HL: set at the first character of a word.
5258
If the Z FLAG is set (still inside the word), LOOP BACK to 5255H to the next byte of the dictionary.
525A
INC B 04
INCrement Register B by 1, the number of the next word and of its text.
525B
JUMP to 523AH to compare the name with the next word of the dictionary.

525DH - Show the Text of a Command

Reached with Register B = the number of the word that matched, 1 (APPEND) to 49 (SYSGEN). The text of that number, counted from 5506H, is shown after a carriage return, with its tabs at every 15 columns; a carriage return ends the last line when it is not empty, and an output file is closed.

525D
POP DE D1
Discard the start of the name, saved at 523AH, from the top of the stack into Register Pair DE.
525E
LD A,0FH 3E 0F
Load Register A with 0FH, the width of a tab column in a text: 15 characters.
5260
LD (52C1H),A 32 C1 52
Store Register A (0FH) into 52C1H, the operand of the SUB at 52C0H, the width the tab routine works with.
5263
LD A,0DH 3E 0D
Load Register A with 0DH, a carriage return, to start the text on a new line.
5265
GOSUB to 52E8H to send the character in Register A to the output; the column count at 58E5H is left as it was.
5268
LD HL,5506H 21 06 55
Point Register Pair HL to 5506H, the first text, that of APPEND, to count the texts from there.
526B
DECrement Register B and, while it is not zero, JUMP to 526FH to pass one more text (DJNZ).
526D
JUMP to 5277H: Register Pair HL is at the text of the command, which is shown from here.
526F
LD A,03H 3E 03
Load Register A with 03H, the byte that ends each text, for the search for the end of this one.
5271
CP (HL) BE
Compare Register A (03H) against the byte at Register Pair HL: the Z FLAG at the end of a text.
5272
INC HL 23
INCrement Register Pair HL by 1, past the byte just compared; the INC leaves the flags of the compare as they were.
5273
If the NZ FLAG is set (not the end), LOOP BACK to 526FH for the next byte of the text.
5275
JUMP to 526BH, with Register Pair HL at the start of the next text, to count it.
5277
GOSUB to 5289H to send the byte at Register Pair HL, a character or a word of the dictionary; the Z FLAG when the next byte is 03H.
527A
If the NZ FLAG is set (the text goes on), LOOP BACK to 5277H for its next byte.
527C
LD A,(58E5H) 3A E5 58
Load Register A with the column count from 58E5H: 00H at the start of a line.
527F
OR A B7
OR Register A against itself: the NZ FLAG when the last line of the text is not ended yet.
5280
LD A,0DH 3E 0D
Load Register A with 0DH, a carriage return; the load leaves the flags of the OR as they were.
5282
If the NZ FLAG is set (not at the start of a line), GOSUB to 52E8H to send the carriage return in Register A.
5285
GOSUB to 52F2H to close the output when it is a file opened at 5221H.
5288
RET C9
RETurn to the DOS, which called HELP from the command level: the end of HELP after a text.

5289H - Show a Byte of a Text

Register Pair HL points to a byte of a text: below 80H a character (09H a tab, 0DH a carriage return), 80H and above the word of the dictionary numbered by its bits 0-6. Entered at 528AH with the byte in Register A by the list (530FH). Register Pair HL returns at the next byte, and the Z FLAG when that byte is 03H, the end of the text.

5289
LD A,(HL) 7E
Load Register A with the byte of the text at Register Pair HL: a character, or 80H and up for a word.
528A
BIT 7,A CB 7F
Test bit 7 of Register A: set for a word of the dictionary, clear for a character.
528C
If the NZ FLAG is set (a word), JUMP to 5293H to find the word in the dictionary and send it.
528E
GOSUB to 52B5H to send the character in Register A, a tab as spaces up to the next tab column.
5291
JUMP to 52B0H to move Register Pair HL to the next byte and test it for 03H.
5293
PUSH HL E5
Save Register Pair HL, the place in the text, to the top of the stack while the word is sent.
5294
LD HL,5350H 21 50 53
Point Register Pair HL to 5350H, the first word of the dictionary, to count the words from there.
5297
AND 7FH E6 7F
AND Register A with 7FH to keep bits 0-6: the number of the word, counted from 0.
5299
OR A B7
OR Register A against itself: the Z FLAG for word 0, APPEND, the first of the dictionary.
529A
If the Z FLAG is set (word 0), JUMP to 52A4H: Register Pair HL is at the word already.
529C
INC HL 23
INCrement Register Pair HL by 1, to the next byte of the dictionary while passing a word.
529D
BIT 7,(HL) CB 7E
Test bit 7 of the byte at Register Pair HL: set at the first character of the next word.
529F
If the Z FLAG is set (still inside the word), LOOP BACK to 529CH to the next byte.
52A1
DEC A 3D
DECrement Register A by 1, the count of the words still to pass before the one to send.
52A2
If the NZ FLAG is set (more words to pass), LOOP BACK to 529CH to pass the next word.
52A4
LD A,(HL) 7E
Load Register A with the character of the word at Register Pair HL, the next one to send.
52A5
AND 7FH E6 7F
AND Register A with 7FH to clear bit 7, the mark of the first character of a word.
52A7
GOSUB to 52B5H to send the character in Register A, a tab as spaces up to the next tab column.
52AA
INC HL 23
INCrement Register Pair HL by 1, to the next character of the word in the dictionary.
52AB
BIT 7,(HL) CB 7E
Test bit 7 of the byte at Register Pair HL: set at the start of the next word, so at the end of this one.
52AD
If the Z FLAG is set (the word goes on), LOOP BACK to 52A4H to send its next character.
52AF
POP HL E1
Restore Register Pair HL, the place in the text, from the top of the stack.
52B0
INC HL 23
INCrement Register Pair HL by 1, to the next byte of the text after the character or the word.
52B1
LD A,03H 3E 03
Load Register A with 03H, the byte that ends a text, for the test of the next byte.
52B3
CP (HL) BE
Compare Register A (03H) against the byte at Register Pair HL: the Z FLAG at the end of the text.
52B4
RET C9
RETurn to the caller with the Z FLAG set at the end of the text and Register Pair HL at its next byte.

52B5H - Send a Character

Sends the character in Register A: a tab (09H) as spaces up to the next multiple of the tab width at 52C1H, any other character through 52D1H, which counts the columns.

52B5
CP 09H FE 09
Compare Register A against 09H, a tab: the Z FLAG when the character is a tab.
52B7
If the Z FLAG is set (a tab), JUMP to 52BDH to send spaces up to the next tab column.
52B9
GOSUB to 52D1H to send the character in Register A and count the column it takes.
52BC
RET C9
RETurn to the caller after the character other than a tab was sent and counted.
52BD
LD A,(58E5H) 3A E5 58
Load Register A with the column count from 58E5H, the columns already sent on this line.
52C0
SUB 0FH D6 0F
SUBtract the tab width from Register A: the operand at 52C1H, 0FH for a text (525EH) and 0CH for the list (5310H).
52C2
If the NC FLAG is set (no borrow), LOOP BACK to 52C0H: Register A ends as the column modulo the width, less the width.
52C4
NEG ED 44
NEGate Register A: the count of spaces up to the next tab column, from 1 to the width.
52C6
LD B,A 47
Load Register B with Register A, the count of spaces to send for the tab.
52C7
LD A,20H 3E 20
Load Register A with 20H, a space, the character a tab is sent as.
52C9
PUSH BC C5
Save Register Pair BC, the count of spaces in Register B, to the top of the stack.
52CA
GOSUB to 52D1H to send the space in Register A and count the column it takes.
52CD
POP BC C1
Restore Register Pair BC, the count of spaces in Register B, from the top of the stack.
52CE
DECrement Register B and, while it is not zero, LOOP BACK to 52C7H for the next space (DJNZ).
52D0
RET C9
RETurn to the caller once the spaces of the tab are sent and counted.

52D1H - Count the Columns

Sends the character in Register A and keeps the column count at 58E5H: 00H after a carriage return, one more after any other character.

52D1
CP 0DH FE 0D
Compare Register A against 0DH, a carriage return: the Z FLAG when the character is a carriage return.
52D3
LD C,01H 0E 01
Load Register C with 01H, the mark of a character other than a carriage return; the load leaves the flags as they were.
52D5
If the NZ FLAG is set (not a carriage return), JUMP to 52D9H with Register C = 01H.
52D7
LD C,00H 0E 00
Load Register C with 00H, the mark of a carriage return, which ends the line.
52D9
GOSUB to 52E8H to send the character in Register A to the device or file of the output.
52DC
LD A,(58E5H) 3A E5 58
Load Register A with the column count from 58E5H, the columns sent on this line before the character.
52DF
INC A 3C
INCrement Register A by 1, the column count after a character other than a carriage return.
52E0
DEC C 0D
DECrement Register C by 1: the Z FLAG when Register C was 01H, a character other than a carriage return.
52E1
If the Z FLAG is set (not a carriage return), JUMP to 52E4H to keep the column count in Register A.
52E3
XOR A AF
Set Register A to 00H by XORing it with itself: after a carriage return the next line starts at column 0.
52E4
LD (58E5H),A 32 E5 58
Store Register A, the new column count, into 58E5H for the next character and the tabs.
52E7
RET C9
RETurn to the caller with the character sent and the column count kept.

52E8H - Send to the Output

Sends the character in Register A through the ROM's 001BH to the DCB or the file control block whose address is at 5907H.

52E8
PUSH DE D5
Save Register Pair DE to the top of the stack while the character is sent.
52E9
LD DE,(5907H) ED 5B 07 59
Load Register Pair DE with the address of the output's DCB or file control block from 5907H-5908H.
52ED
GOSUB to 001BH, the ROM's output of the character in Register A to the device or file of the block at Register Pair DE.
52F0
POP DE D1
Restore Register Pair DE from the top of the stack, as it was before the character was sent.
52F1
RET C9
RETurn to the caller after the character in Register A was sent to the output.

52F2H - Close a File

Closes the output when it is a file: the first byte of the file control block is 80H while the file is open (INIT@ at 5221H); a DCB starts with its type byte.

52F2
LD DE,(5907H) ED 5B 07 59
Load Register Pair DE with the address of the output's DCB or file control block from 5907H-5908H.
52F6
LD A,(DE) 1A
Load Register A with the first byte of the block at Register Pair DE.
52F7
CP 80H FE 80
Compare Register A against 80H, the first byte of a file control block while its file is open.
52F9
RET NZ C0
If the NZ FLAG is set (a device), RETurn to the caller: there is no file to close.
52FA
GOSUB to 4428H, CLOSE@, to close the file of the file control block at Register Pair DE.
52FD
If the NZ FLAG is set (CLOSE@ failed), JUMP to 4409H, ERROR@, with the error code in Register A as CLOSE@ returns it.
5300
RET C9
RETurn to the caller once the output file is closed, or when the output is a device.

5301H - Send a Line

Sends the bytes at Register Pair HL through 52E8H, without the column count, up to a 03H (not sent) or a carriage return (sent); Register Pair HL returns past the carriage return.

5301
LD A,(HL) 7E
Load Register A with the byte of the line at Register Pair HL.
5302
CP 03H FE 03
Compare Register A against 03H, the end of a text: the Z FLAG at the end.
5304
RET Z C8
If the Z FLAG is set (03H), RETurn to the caller without sending the 03H.
5305
GOSUB to 52E8H to send the character in Register A to the output.
5308
LD A,(HL) 7E
Load Register A with the byte at Register Pair HL again, the character just sent.
5309
INC HL 23
INCrement Register Pair HL by 1, to the next byte of the line; the INC changes no flag.
530A
CP 0DH FE 0D
Compare Register A against 0DH, a carriage return: the Z FLAG at the end of the line.
530C
RET Z C8
If the Z FLAG is set (the carriage return was sent), RETurn to the caller.
530D
JUMP to 5301H to send the next byte of the line at Register Pair HL.

530FH - The List of Commands

Reached when the name matched none of the 49 words, or when no name was given: shows the heading HELP is available for the following: and the first 49 words of the dictionary, five to a row, each followed by a tab to the next column of 12. Word 39 is a carriage return: it ends the row of the last library commands, and the tab after it and the end of its row make a line of 12 spaces before the nine utilities.

530F
POP DE D1
Discard the start of the name, saved at 523AH, from the top of the stack into Register Pair DE.
5310
LD A,0CH 3E 0C
Load Register A with 0CH, the width of a tab column in the list: 12 characters.
5312
LD (52C1H),A 32 C1 52
Store Register A (0CH) into 52C1H, the operand of the SUB at 52C0H, the width the tab routine works with.
5315
LD HL,58BEH 21 BE 58
Point Register Pair HL to 58BEH, the line feed and the heading HELP is available for the following:.
5318
GOSUB to 5301H to send the heading at Register Pair HL up to and with its carriage return.
531B
LD A,80H 3E 80
Load Register A with 80H, the byte of word 0 (APPEND), the first word of the list.
531D
LD BC,3100H 01 00 31
Load Register Pair BC with 3100H: Register B = 31H (49), the count of the words, and Register C = 00H, the words in the row.
5320
PUSH AF F5
Save Register Pair AF, the byte of the word in Register A, to the top of the stack.
5321
PUSH BC C5
Save Register Pair BC, the count of the words and the words in the row, to the top of the stack.
5322
GOSUB to 528AH with the byte in Register A, to send the word of the dictionary; Register Pair HL, not needed here, is moved on.
5325
LD A,09H 3E 09
Load Register A with 09H, a tab, to move to the next column after the word.
5327
GOSUB to 528AH to send the tab in Register A as spaces up to the next column of 12.
532A
POP BC C1
Restore Register Pair BC, the count of the words and the words in the row, from the top of the stack.
532B
INC C 0C
INCrement Register C by 1, the count of the words in the row.
532C
LD A,05H 3E 05
Load Register A with 05H, the count of the words in a row of the list.
532E
CP C B9
Compare Register A (05H) against Register C: the Z FLAG when the row holds five words.
532F
If the NZ FLAG is set (the row is not full), JUMP to 533AH for the next word.
5331
LD A,0DH 3E 0D
Load Register A with 0DH, a carriage return, to end the full row.
5333
PUSH BC C5
Save Register Pair BC, the count of the words in Register B, to the top of the stack.
5334
GOSUB to 528AH to send the carriage return in Register A; the column count returns to 00H.
5337
POP BC C1
Restore Register Pair BC, the count of the words in Register B, from the top of the stack.
5338
LD C,00H 0E 00
Load Register C with 00H: the next row holds no word yet.
533A
POP AF F1
Restore Register Pair AF, the byte of the word in Register A, from the top of the stack.
533B
INC A 3C
INCrement Register A by 1, the byte of the next word of the dictionary.
533C
DECrement Register B and, while it is not zero, LOOP BACK to 5320H for the next word (DJNZ).
533E
LD A,(58E5H) 3A E5 58
Load Register A with the column count from 58E5H: 00H when the last row was full.
5341
OR A B7
OR Register A against itself: the NZ FLAG when the last row is not ended yet.
5342
LD A,0DH 3E 0D
Load Register A with 0DH, a carriage return; the load leaves the flags of the OR as they were.
5344
If the NZ FLAG is set (not at the start of a line), GOSUB to 528AH to send the carriage return in Register A.
5347
GOSUB to 52F2H to close the output when it is a file opened at 5221H.
534A
RET C9
RETurn to the DOS, which called HELP from the command level: the end of HELP after the list.

534BH - Post an Error

An error of EVAL@ or INIT@ is posted with bit 6 set, so ERROR@ shows the message without its frame; bit 7 is clear, so ERROR@ ends through ABORT@.

534B
OR 40H F6 40
OR Register A with 40H, setting bit 6 of the error code: ERROR@ shows the message without the frame of asterisks.
534D
JUMP to 4409H, ERROR@, with the error code in Register A; with bit 7 clear ERROR@ does not return but ends through ABORT@.

5350H - The Dictionary

89 words, the first character of each with bit 7 set, ended by the byte 80H at 5505H; a text names word n by the byte 80H + n (5293H). Words 0-48 have a text each and make the list: the 39 library commands (0-38), a carriage return (39) and the nine utilities (40-48). Words 49-88 are the parts of the syntax lines: the keywords FROM, TO and USING, the kinds of fields and values, and names of parameters.

5350-5355
DEFB C1H / DEFM "PPEND" C1 50 50 45 4E 44
Word 0, byte 80H in a text: the library command APPEND, the name HELP APPEND finds (text 1).
5356-535B
DEFB C1H / DEFM "SSIGN" C1 53 53 49 47 4E
Word 1, byte 81H in a text: the library command ASSIGN, the name HELP ASSIGN finds (text 2).
535C-5361
DEFB C1H / DEFM "TTRIB" C1 54 54 52 49 42
Word 2, byte 82H in a text: the library command ATTRIB, the name HELP ATTRIB finds (text 3).
5362-5365
DEFB C1H / DEFM "UTO" C1 55 54 4F
Word 3, byte 83H in a text: the library command AUTO, the name HELP AUTO finds (text 4).
5366-5369
DEFB C2H / DEFM "OOT" C2 4F 4F 54
Word 4, byte 84H in a text: the library command BOOT, the name HELP BOOT finds (text 5).
536A-536E
DEFB C2H / DEFM "REAK" C2 52 45 41 4B
Word 5, byte 85H in a text: the library command BREAK, the name HELP BREAK finds (text 6).
536F-5373
DEFB C2H / DEFM "UILD" C2 55 49 4C 44
Word 6, byte 86H in a text: the library command BUILD, the name HELP BUILD finds (text 7).
5374-5376
DEFB C3H / DEFM "AT" C3 41 54
Word 7, byte 87H in a text: the library command CAT, the name HELP CAT finds (text 8).
5377-537B
DEFB C3H / DEFM "LEAR" C3 4C 45 41 52
Word 8, byte 88H in a text: the library command CLEAR, the name HELP CLEAR finds (text 9).
537C-5380
DEFB C3H / DEFM "LOCK" C3 4C 4F 43 4B
Word 9, byte 89H in a text: the library command CLOCK, the name HELP CLOCK finds (text 10).
5381-5383
DEFB C3H / DEFM "LS" C3 4C 53
Word 10, byte 8AH in a text: the library command CLS, the name HELP CLS finds (text 11).
5384-5389
DEFB C3H / DEFM "ONFIG" C3 4F 4E 46 49 47
Word 11, byte 8BH in a text: the library command CONFIG, the name HELP CONFIG finds (text 12).
538A-538D
DEFB C3H / DEFM "OPY" C3 4F 50 59
Word 12, byte 8CH in a text: the library command COPY, the name HELP COPY finds (text 13).
538E-5393
DEFB C3H / DEFM "REATE" C3 52 45 41 54 45
Word 13, byte 8DH in a text: the library command CREATE, the name HELP CREATE finds (text 14).
5394-5397
DEFB C4H / DEFM "ATE" C4 41 54 45
Word 14, byte 8EH in a text: the library command DATE, the name HELP DATE finds (text 15).
5398-539C
DEFB C4H / DEFM "EBUG" C4 45 42 55 47
Word 15, byte 8FH in a text: the library command DEBUG, the name HELP DEBUG finds (text 16).
539D-539F
DEFB C4H / DEFM "IR" C4 49 52
Word 16, byte 90H in a text: the library command DIR, the name HELP DIR finds (text 17).
53A0-53A1
DEFB C4H / DEFM "O" C4 4F
Word 17, byte 91H in a text: the library command DO, the name HELP DO finds (text 18).
53A2-53A5
DEFB C4H / DEFM "UMP" C4 55 4D 50
Word 18, byte 92H in a text: the library command DUMP, the name HELP DUMP finds (text 19).
53A6-53AA
DEFB C5H / DEFM "RROR" C5 52 52 4F 52
Word 19, byte 93H in a text: the library command ERROR, the name HELP ERROR finds (text 20).
53AB-53B0
DEFB C6H / DEFM "ILTER" C6 49 4C 54 45 52
Word 20, byte 94H in a text: the library command FILTER, the name HELP FILTER finds (text 21).
53B1-53B5
DEFB C6H / DEFM "ORCE" C6 4F 52 43 45
Word 21, byte 95H in a text: the library command FORCE, the name HELP FORCE finds (text 22).
53B6-53BA
DEFB C6H / DEFM "ORMS" C6 4F 52 4D 53
Word 22, byte 96H in a text: the library command FORMS, the name HELP FORMS finds (text 23).
53BB-53BE
DEFB C6H / DEFM "REE" C6 52 45 45
Word 23, byte 97H in a text: the library command FREE, the name HELP FREE finds (text 24).
53BF
DEFB C9H C9
Word 24, byte 98H in a text: the library command I, the name HELP I finds (text 25).
53C0-53C3
DEFB CAH / DEFM "OIN" CA 4F 49 4E
Word 25, byte 99H in a text: the library command JOIN, the name HELP JOIN finds (text 26).
53C4-53C7
DEFB CBH / DEFM "ILL" CB 49 4C 4C
Word 26, byte 9AH in a text: the library command KILL, the name HELP KILL finds (text 27).
53C8-53CA
DEFB CCH / DEFM "IB" CC 49 42
Word 27, byte 9BH in a text: the library command LIB, the name HELP LIB finds (text 28).
53CB-53CE
DEFB CCH / DEFM "IST" CC 49 53 54
Word 28, byte 9CH in a text: the library command LIST, the name HELP LIST finds (text 29).
53CF-53D2
DEFB CCH / DEFM "OAD" CC 4F 41 44
Word 29, byte 9DH in a text: the library command LOAD, the name HELP LOAD finds (text 30).
53D3-53D7
DEFB D0H / DEFM "AUSE" D0 41 55 53 45
Word 30, byte 9EH in a text: the library command PAUSE, the name HELP PAUSE finds (text 31).
53D8-53DB
DEFB D0H / DEFM "ROT" D0 52 4F 54
Word 31, byte 9FH in a text: the library command PROT, the name HELP PROT finds (text 32).
53DC-53E1
DEFB D2H / DEFM "ENAME" D2 45 4E 41 4D 45
Word 32, byte A0H in a text: the library command RENAME, the name HELP RENAME finds (text 33).
53E2-53E6
DEFB D2H / DEFM "ESET" D2 45 53 45 54
Word 33, byte A1H in a text: the library command RESET, the name HELP RESET finds (text 34).
53E7-53EB
DEFB D2H / DEFM "S232" D2 53 32 33 32
Word 34, byte A2H in a text: the library command RS232, the name HELP RS232 finds (text 35).
53EC-53F1
DEFB D3H / DEFM "CREEN" D3 43 52 45 45 4E
Word 35, byte A3H in a text: the library command SCREEN, the name HELP SCREEN finds (text 36).
53F2-53F7
DEFB D3H / DEFM "YSTEM" D3 59 53 54 45 4D
Word 36, byte A4H in a text: the library command SYSTEM, the name HELP SYSTEM finds (text 37).
53F8-53FB
DEFB D4H / DEFM "IME" D4 49 4D 45
Word 37, byte A5H in a text: the library command TIME, the name HELP TIME finds (text 38).
53FC-5401
DEFB D6H / DEFM "ERIFY" D6 45 52 49 46 59
Word 38, byte A6H in a text: the library command VERIFY, the name HELP VERIFY finds (text 39).
5402
DEFB 8DH 8D
Word 39, byte A7H in a text: a carriage return, the break in the list between the library commands and the utilities (its text 40 is empty).
5403-5408
DEFB C2H / DEFM "ACKUP" C2 41 43 4B 55 50
Word 40, byte A8H in a text: the utility BACKUP, the name HELP BACKUP finds (text 41).
5409-540F
DEFB C3H / DEFM "ONVERT" C3 4F 4E 56 45 52 54
Word 41, byte A9H in a text: the utility CONVERT, the name HELP CONVERT finds (text 42).
5410-5417
DEFB C4H / DEFM "IRCHECK" C4 49 52 43 48 45 43 4B
Word 42, byte AAH in a text: the utility DIRCHECK, the name HELP DIRCHECK finds (text 43).
5418-541F
DEFB C4H / DEFM "ISKDUMP" C4 49 53 4B 44 55 4D 50
Word 43, byte ABH in a text: the utility DISKDUMP, the name HELP DISKDUMP finds (text 44).
5420-5425
DEFB C6H / DEFM "ORMAT" C6 4F 52 4D 41 54
Word 44, byte ACH in a text: the utility FORMAT, the name HELP FORMAT finds (text 45).
5426-5428
DEFB CDH / DEFM "AP" CD 41 50
Word 45, byte ADH in a text: the utility MAP, the name HELP MAP finds (text 46).
5429-542D
DEFB D0H / DEFM "ATCH" D0 41 54 43 48
Word 46, byte AEH in a text: the utility PATCH, the name HELP PATCH finds (text 47).
542E-5434
DEFB D2H / DEFM "ESTORE" D2 45 53 54 4F 52 45
Word 47, byte AFH in a text: the utility RESTORE, the name HELP RESTORE finds (text 48).
5435-543A
DEFB D3H / DEFM "YSGEN" D3 59 53 47 45 4E
Word 48, byte B0H in a text: the utility SYSGEN, the name HELP SYSGEN finds (text 49).
543B-5441
DEFB A0H / DEFM "<FROM>" A0 3C 46 52 4F 4D 3E
Word 49, byte B1H in a text: the part <FROM> of the syntax lines, never a name HELP finds, with the space before it.
5442-5446
DEFB A0H / DEFM "<TO>" A0 3C 54 4F 3E
Word 50, byte B2H in a text: the part <TO> of the syntax lines, never a name HELP finds, with the space before it.
5447-544E
DEFB A0H / DEFM "<USING>" A0 3C 55 53 49 4E 47 3E
Word 51, byte B3H in a text: the part <USING> of the syntax lines, never a name HELP finds, with the space before it.
544F-5455
DEFB A0H / DEFM "fs/@ds" A0 66 73 2F 40 64 73
Word 52, byte B4H in a text: the part fs/@ds of the syntax lines, never a name HELP finds, with the space before it.
5456-5465
DEFB A0H / DEFM "(param=exp,...)" A0 28 70 61 72 61 6D 3D 65 78 70 2C 2E 2E 2E 29
Word 53, byte B5H in a text: the part (param=exp,...) of the syntax lines, never a name HELP finds, with the space before it.
5466-546C
DEFB BDH / DEFM "switch" BD 73 77 69 74 63 68
Word 54, byte B6H in a text: the part =switch of the syntax lines, never a name HELP finds.
546D-5475
DEFB BDH / DEFM "'string'" BD 27 73 74 72 69 6E 67 27
Word 55, byte B7H in a text: the part ='string' of the syntax lines, never a name HELP finds.
5476-547B
DEFB BDH / DEFM "value" BD 76 61 6C 75 65
Word 56, byte B8H in a text: the part =value of the syntax lines, never a name HELP finds.
547C-547E
DEFB A0H / DEFM "fs" A0 66 73
Word 57, byte B9H in a text: the part fs of the syntax lines, never a name HELP finds, with the space before it.
547F-5482
DEFB A0H / DEFM "@ds" A0 40 64 73
Word 58, byte BAH in a text: the part @ds of the syntax lines, never a name HELP finds, with the space before it.
5483-548B
DEFB A0H / DEFM "wildmask" A0 77 69 6C 64 6D 61 73 6B
Word 59, byte BBH in a text: the part wildmask of the syntax lines, never a name HELP finds, with the space before it.
548C-548D
DEFB D0H / DEFM "W" D0 57
Word 60, byte BCH in a text: the part PW of the syntax lines, never a name HELP finds.
548E-5492
DEFB C9H / DEFM "NVIS" C9 4E 56 49 53
Word 61, byte BDH in a text: the part INVIS of the syntax lines, never a name HELP finds.
5493-5496
DEFB CBH / DEFM "EEP" CB 45 45 50
Word 62, byte BEH in a text: the part KEEP of the syntax lines, never a name HELP finds.
5497-5499
DEFB CDH / DEFM "OD" CD 4F 44
Word 63, byte BFH in a text: the part MOD of the syntax lines, never a name HELP finds.
549A-549F
DEFB A0H / DEFM "<:dr>" A0 3C 3A 64 72 3E
Word 64, byte C0H in a text: the part <:dr> of the syntax lines, never a name HELP finds, with the space before it.
54A0-54AA
DEFB A0H / DEFM "<(switch)>" A0 3C 28 73 77 69 74 63 68 29 3E
Word 65, byte C1H in a text: the part <(switch)> of the syntax lines, never a name HELP finds, with the space before it.
54AB-54AD
DEFB D5H / DEFM "SE" D5 53 45
Word 66, byte C2H in a text: the part USE of the syntax lines, never a name HELP finds.
54AE-54B2
DEFB C1H / DEFM "LPHA" C1 4C 50 48 41
Word 67, byte C3H in a text: the part ALPHA of the syntax lines, never a name HELP finds.
54B3-54B5
DEFB CCH / DEFM "RL" CC 52 4C
Word 68, byte C4H in a text: the part LRL of the syntax lines, never a name HELP finds.
54B6-54BD
DEFB A0H / DEFM "@ds/:dr" A0 40 64 73 2F 3A 64 72
Word 69, byte C5H in a text: the part @ds/:dr of the syntax lines, never a name HELP finds, with the space before it.
54BE-54BF
DEFB 8DH,0DH 8D 0D
Word 70, byte C6H in a text: two carriage returns, the empty line between a syntax line and its parameters.
54C0-54C4
DEFB D3H / DEFM "TART" D3 54 41 52 54
Word 71, byte C7H in a text: the part START of the syntax lines, never a name HELP finds.
54C5-54C7
DEFB C5H / DEFM "ND" C5 4E 44
Word 72, byte C8H in a text: the part END of the syntax lines, never a name HELP finds.
54C8-54CB
DEFB C4H / DEFM "ATA" C4 41 54 41
Word 73, byte C9H in a text: the part DATA of the syntax lines, never a name HELP finds.
54CC-54CF
DEFB D3H / DEFM "IZE" D3 49 5A 45
Word 74, byte CAH in a text: the part SIZE of the syntax lines, never a name HELP finds.
54D0-54D1
DEFB D7H / DEFM "P" D7 50
Word 75, byte CBH in a text: the part WP of the syntax lines, never a name HELP finds.
54D2-54D5
DEFB D3H / DEFM "TEP" D3 54 45 50
Word 76, byte CCH in a text: the part STEP of the syntax lines, never a name HELP finds.
54D6-54D7
DEFB D0H / DEFM "D" D0 44
Word 77, byte CDH in a text: the part PD of the syntax lines, never a name HELP finds.
54D8-54DB
DEFB A0H / DEFM ":dr" A0 3A 64 72
Word 78, byte CEH in a text: the part :dr of the syntax lines, never a name HELP finds, with the space before it.
54DC-54DF
DEFB C5H / DEFM "CHO" C5 43 48 4F
Word 79, byte CFH in a text: the part ECHO of the syntax lines, never a name HELP finds.
54E0-54E5
DEFB D0H / DEFM "ROMPT" D0 52 4F 4D 50 54
Word 80, byte D0H in a text: the part PROMPT of the syntax lines, never a name HELP finds.
54E6-54EA
DEFB D1H / DEFM "UERY" D1 55 45 52 59
Word 81, byte D1H in a text: the part QUERY of the syntax lines, never a name HELP finds.
54EB-54EE
DEFB C8H / DEFM "IGH" C8 49 47 48
Word 82, byte D2H in a text: the part HIGH of the syntax lines, never a name HELP finds.
54EF-54F1
DEFB D4H / DEFM "RA" D4 52 41
Word 83, byte D3H in a text: the part TRA of the syntax lines, never a name HELP finds.
54F2-54F4
DEFB C1H / DEFM "CC" C1 43 43
Word 84, byte D4H in a text: the part ACC of the syntax lines, never a name HELP finds.
54F5-54F7
DEFB D5H / DEFM "PD" D5 50 44
Word 85, byte D5H in a text: the part UPD of the syntax lines, never a name HELP finds.
54F8-54FB
DEFB CEH / DEFM "AME" CE 41 4D 45
Word 86, byte D6H in a text: the part NAME of the syntax lines, never a name HELP finds.
54FC-54FF
DEFB CFH / DEFM "VER" CF 56 45 52
Word 87, byte D7H in a text: the part OVER of the syntax lines, never a name HELP finds.
5500-5504
DEFB D3H / DEFM "IDES" D3 49 44 45 53
Word 88, byte D8H in a text: the part SIDES of the syntax lines, never a name HELP finds.
5505
DEFB 80H 80
The end of the dictionary: a byte with bit 7 set and no text after it, which ends word 88, SIDES, for the scans at 5256H and 52ABH.

5506H - The Texts

49 texts, one for each of words 0-48, each ended by 03H; text n is found by passing n - 1 bytes 03H from 5506H (526BH). A byte below 80H is a character (09H a tab to the next column of 15, 0DH a carriage return), a byte of 80H and up a word of the dictionary. Each row below is one line of the screen; its comment gives the line as HELP shows it, (tab) for a tab. Text 40, that of the carriage return of word 39, is empty, and no name can reach it.

5506-550C
DEFB 80H,B1H,B4H,B2H,B4H,B5H,C6H 80 B1 B4 B2 B4 B5 C6
Text 1 (HELP APPEND), line 1: APPEND <FROM> fs/@ds <TO> fs/@ds (param=exp,...), then an empty line.
550D-5518
DEFM "CMD" / DEFB B6H,09H / DEFM "STRIP" / DEFB B6H,03H 43 4D 44 B6 09 53 54 52 49 50 B6 03
Text 1 (HELP APPEND), line 2: CMD=switch (tab) STRIP=switch, the end of the text (03H).
5519-551E
DEFB 81H,B1H,C5H,B2H,B9H,0DH 81 B1 C5 B2 B9 0D
Text 2 (HELP ASSIGN), line 1: ASSIGN <FROM> @ds/:dr <TO> fs, then a new line.
551F-5524
DEFB 81H,B1H,C5H,B2H,C5H,03H 81 B1 C5 B2 C5 03
Text 2 (HELP ASSIGN), line 2: ASSIGN <FROM> @ds/:dr <TO> @ds/:dr, the end of the text (03H).
5525-5528
DEFB 82H,B9H,B5H,0DH 82 B9 B5 0D
Text 3 (HELP ATTRIB), line 1: ATTRIB fs (param=exp,...), then a new line.
5529-552D
DEFB 82H,B3H,BBH,B5H,C6H 82 B3 BB B5 C6
Text 3 (HELP ATTRIB), line 2: ATTRIB <USING> wildmask (param=exp,...), then an empty line.
552E-5539
DEFB BCH,B7H,09H,D4H,B7H,09H,D5H,B7H,09H,9FH,B8H,0DH BC B7 09 D4 B7 09 D5 B7 09 9F B8 0D
Text 3 (HELP ATTRIB), line 3: PW='string' (tab) ACC='string' (tab) UPD='string' (tab) PROT=value, then a new line.
553A-5545
DEFB BDH,B6H,09H,BEH,B6H,09H,BFH,B6H,09H,C4H,B8H,03H BD B6 09 BE B6 09 BF B6 09 C4 B8 03
Text 3 (HELP ATTRIB), line 4: INVIS=switch (tab) KEEP=switch (tab) MOD=switch (tab) LRL=value, the end of the text (03H).
5546-5559
DEFB 83H,C0H / DEFM " <command string>" / DEFB 03H 83 C0 20 3C 63 6F 6D 6D 61 6E 64 20 73 74 72 69 6E 67 3E 03
Text 4 (HELP AUTO), line 1: AUTO <:dr> <command string>, the end of the text (03H).
555A-555B
DEFB 84H,03H 84 03
Text 5 (HELP BOOT), line 1: BOOT, the end of the text (03H).
555C-555E
DEFB 85H,C1H,03H 85 C1 03
Text 6 (HELP BREAK), line 1: BREAK <(switch)>, the end of the text (03H).
555F-5562
DEFB 86H,B4H,B5H,C6H 86 B4 B5 C6
Text 7 (HELP BUILD), line 1: BUILD fs/@ds (param=exp,...), then an empty line.
5563-5565
DEFB 80H,B6H,03H 80 B6 03
Text 7 (HELP BUILD), line 2: APPEND=switch, the end of the text (03H).
5566-556E
DEFB 87H,B1H,C0H,B2H,B4H,B3H,BBH,B5H,C6H 87 B1 C0 B2 B4 B3 BB B5 C6
Text 8 (HELP CAT), line 1: CAT <FROM> <:dr> <TO> fs/@ds <USING> wildmask (param=exp,...), then an empty line.
556F-557A
DEFB A4H,B6H,09H,BDH,B6H,09H,9AH,B6H,09H,C3H,B6H,03H A4 B6 09 BD B6 09 9A B6 09 C3 B6 03
Text 8 (HELP CAT), line 2: SYSTEM=switch (tab) INVIS=switch (tab) KILL=switch (tab) ALPHA=switch, the end of the text (03H).
557B-557E
DEFB 88H,B9H,B5H,0DH 88 B9 B5 0D
Text 9 (HELP CLEAR), line 1: CLEAR fs (param=exp,...), then a new line.
557F-5581
DEFB 88H,B5H,C6H 88 B5 C6
Text 9 (HELP CLEAR), line 2: CLEAR (param=exp,...), then an empty line.
5582-558A
DEFB C7H,B8H,09H,C8H,B8H,09H,C9H,B8H,03H C7 B8 09 C8 B8 09 C9 B8 03
Text 9 (HELP CLEAR), line 3: START=value (tab) END=value (tab) DATA=value, the end of the text (03H).
558B-558D
DEFB 89H,C1H,03H 89 C1 03
Text 10 (HELP CLOCK), line 1: CLOCK <(switch)>, the end of the text (03H).
558E-558F
DEFB 8AH,03H 8A 03
Text 11 (HELP CLS), line 1: CLS, the end of the text (03H).
5590-5591
DEFB 8BH,0DH 8B 0D
Text 12 (HELP CONFIG), line 1: CONFIG, then a new line.
5592-5595
DEFB 8BH,C0H,B5H,C6H 8B C0 B5 C6
Text 12 (HELP CONFIG), line 2: CONFIG <:dr> (param=exp,...), then an empty line.
5596-55A8
DEFM "FLOPPY:" / DEFB 09H,CBH,B6H,09H / DEFM "MD" / DEFB B6H,09H / DEFM "HL" / DEFB B6H,0DH 46 4C 4F 50 50 59 3A 09 CB B6 09 4D 44 B6 09 48 4C B6 0D
Text 12 (HELP CONFIG), line 3: FLOPPY: (tab) WP=switch (tab) MD=switch (tab) HL=switch, then a new line.
55A9-55B7
DEFB CCH,B8H,09H / DEFM "SKIP" / DEFB B6H,09H,CAH,B8H,09H,D8H,B8H,0DH CC B8 09 53 4B 49 50 B6 09 CA B8 09 D8 B8 0D
Text 12 (HELP CONFIG), line 4: STEP=value (tab) SKIP=switch (tab) SIZE=value (tab) SIDES=value, then a new line.
55B8-55BA
DEFB CDH,B8H,C6H CD B8 C6
Text 12 (HELP CONFIG), line 5: PD=value, then an empty line.
55BB-55CE
DEFM "RIGID:" / DEFB 09H,CAH,B8H,09H,D8H,B8H,09H / DEFM "FIXED" / DEFB B6H,0DH 52 49 47 49 44 3A 09 CA B8 09 D8 B8 09 46 49 58 45 44 B6 0D
Text 12 (HELP CONFIG), line 6: RIGID: (tab) SIZE=value (tab) SIDES=value (tab) FIXED=switch, then a new line.
55CF-55DC
DEFB CBH,B6H,09H,CCH,B8H,09H / DEFM "HO" / DEFB B8H,09H / DEFM "CO" / DEFB B8H,0DH CB B6 09 CC B8 09 48 4F B8 09 43 4F B8 0D
Text 12 (HELP CONFIG), line 7: WP=switch (tab) STEP=value (tab) HO=value (tab) CO=value, then a new line.
55DD-55E7
DEFM "HC" / DEFB B8H,09H / DEFM "TS" / DEFB B8H,09H,CDH,B8H,03H 48 43 B8 09 54 53 B8 09 CD B8 03
Text 12 (HELP CONFIG), line 8: HC=value (tab) TS=value (tab) PD=value, the end of the text (03H).
55E8-55EE
DEFB 8CH,B1H,B4H,B2H,B4H,B5H,0DH 8C B1 B4 B2 B4 B5 0D
Text 13 (HELP COPY), line 1: COPY <FROM> fs/@ds <TO> fs/@ds (param=exp,...), then a new line.
55EF-55F5
DEFB 8CH,B1H,B9H,B2H,CEH,B5H,0DH 8C B1 B9 B2 CE B5 0D
Text 13 (HELP COPY), line 2: COPY <FROM> fs <TO> :dr (param=exp,...), then a new line.
55F6-55FE
DEFB 8CH,B1H,CEH,B2H,CEH,B3H,BBH,B5H,C6H 8C B1 CE B2 CE B3 BB B5 C6
Text 13 (HELP COPY), line 3: COPY <FROM> :dr <TO> :dr <USING> wildmask (param=exp,...), then an empty line.
55FF-560C
DEFM "DPW" / DEFB B7H,09H,CFH,B6H,09H,BDH,B6H,09H,9AH,B6H,0DH 44 50 57 B7 09 CF B6 09 BD B6 09 9A B6 0D
Text 13 (HELP COPY), line 4: DPW='string' (tab) ECHO=switch (tab) INVIS=switch (tab) KILL=switch, then a new line.
560D-5618
DEFB BFH,B6H,09H,D7H,B6H,09H,D0H,B6H,09H,D1H,B6H,0DH BF B6 09 D7 B6 09 D0 B6 09 D1 B6 0D
Text 13 (HELP COPY), line 5: MOD=switch (tab) OVER=switch (tab) PROMPT=switch (tab) QUERY=switch, then a new line.
5619-562D
DEFM "SPW" / DEFB B7H,09H / DEFM "TINY" / DEFB B6H,09H / DEFM "NEW" / DEFB B6H,09H / DEFM "OLD" / DEFB B6H,03H 53 50 57 B7 09 54 49 4E 59 B6 09 4E 45 57 B6 09 4F 4C 44 B6 03
Text 13 (HELP COPY), line 6: SPW='string' (tab) TINY=switch (tab) NEW=switch (tab) OLD=switch, the end of the text (03H).
562E-5631
DEFB 8DH,B9H,B5H,C6H 8D B9 B5 C6
Text 14 (HELP CREATE), line 1: CREATE fs (param=exp,...), then an empty line.
5632-5644
DEFB C9H,B6H,09H / DEFM "GRANS" / DEFB B8H,09H,BEH,B6H,09H / DEFM "KILO" / DEFB B8H,0DH C9 B6 09 47 52 41 4E 53 B8 09 BE B6 09 4B 49 4C 4F B8 0D
Text 14 (HELP CREATE), line 2: DATA=switch (tab) GRANS=value (tab) KEEP=switch (tab) KILO=value, then a new line.
5645-564D
DEFB C4H,B8H,09H,CAH,B8H,09H,A6H,B6H,03H C4 B8 09 CA B8 09 A6 B6 03
Text 14 (HELP CREATE), line 3: LRL=value (tab) SIZE=value (tab) VERIFY=switch, the end of the text (03H).
564E-564F
DEFB 8EH,0DH 8E 0D
Text 15 (HELP DATE), line 1: DATE, then a new line.
5650-565A
DEFB 8EH / DEFM " mm/dd/yy" / DEFB 03H 8E 20 6D 6D 2F 64 64 2F 79 79 03
Text 15 (HELP DATE), line 2: DATE mm/dd/yy, the end of the text (03H).
565B-565D
DEFB 8FH,C1H,03H 8F C1 03
Text 16 (HELP DEBUG), line 1: DEBUG <(switch)>, the end of the text (03H).
565E-5666
DEFB 90H,B1H,C0H,B2H,B4H,B3H,BBH,B5H,C6H 90 B1 C0 B2 B4 B3 BB B5 C6
Text 17 (HELP DIR), line 1: DIR <FROM> <:dr> <TO> fs/@ds <USING> wildmask (param=exp,...), then an empty line.
5667-5672
DEFB A4H,B6H,09H,BDH,B6H,09H,9AH,B6H,09H,C3H,B6H,03H A4 B6 09 BD B6 09 9A B6 09 C3 B6 03
Text 17 (HELP DIR), line 2: SYSTEM=switch (tab) INVIS=switch (tab) KILL=switch (tab) ALPHA=switch, the end of the text (03H).
5673-5676
DEFB 91H,B9H,B5H,C6H 91 B9 B5 C6
Text 18 (HELP DO), line 1: DO fs (param=exp,...), then an empty line.
5677-567C
DEFB 85H,B6H,09H,D2H,B8H,03H 85 B6 09 D2 B8 03
Text 18 (HELP DO), line 2: BREAK=switch (tab) HIGH=value, the end of the text (03H).
567D-5680
DEFB 92H,B9H,B5H,C6H 92 B9 B5 C6
Text 19 (HELP DUMP), line 1: DUMP fs (param=exp,...), then an empty line.
5681-568F
DEFB C9H,B6H,09H,C8H,B8H,09H / DEFM "RELO" / DEFB B8H,09H,C7H,B8H,0DH C9 B6 09 C8 B8 09 52 45 4C 4F B8 09 C7 B8 0D
Text 19 (HELP DUMP), line 2: DATA=switch (tab) END=value (tab) RELO=value (tab) START=value, then a new line.
5690-5692
DEFB D3H,B8H,03H D3 B8 03
Text 19 (HELP DUMP), line 3: TRA=value, the end of the text (03H).
5693-5694
DEFB 93H,0DH 93 0D
Text 20 (HELP ERROR), line 1: ERROR, then a new line.
5695-569E
DEFB 93H / DEFM " <value>" / DEFB 03H 93 20 3C 76 61 6C 75 65 3E 03
Text 20 (HELP ERROR), line 2: ERROR <value>, the end of the text (03H).
569F-56B7
DEFB 94H,B1H,BAH,B2H,B9H / DEFM " (param=exp,switch)" / DEFB C6H 94 B1 BA B2 B9 20 28 70 61 72 61 6D 3D 65 78 70 2C 73 77 69 74 63 68 29 C6
Text 21 (HELP FILTER), line 1: FILTER <FROM> @ds <TO> fs (param=exp,switch), then an empty line.
56B8-56BA
DEFB ADH,B6H,03H AD B6 03
Text 21 (HELP FILTER), line 2: MAP=switch, the end of the text (03H).
56BB-56BC
DEFB 95H,0DH 95 0D
Text 22 (HELP FORCE), line 1: FORCE, then a new line.
56BD-56C2
DEFB 95H,B1H,BAH,B2H,B4H,03H 95 B1 BA B2 B4 03
Text 22 (HELP FORCE), line 2: FORCE <FROM> @ds <TO> fs/@ds, the end of the text (03H).
56C3-56C4
DEFB 96H,0DH 96 0D
Text 23 (HELP FORMS), line 1: FORMS, then a new line.
56C5-56C7
DEFB 96H,B5H,C6H 96 B5 C6
Text 23 (HELP FORMS), line 2: FORMS (param=exp,...), then an empty line.
56C8-56E0
DEFM "PAGE" / DEFB B8H,09H / DEFM "LINES" / DEFB B8H,09H / DEFM "WIDTH" / DEFB B8H,09H / DEFM "TOP" / DEFB B6H,0DH 50 41 47 45 B8 09 4C 49 4E 45 53 B8 09 57 49 44 54 48 B8 09 54 4F 50 B6 0D
Text 23 (HELP FORMS), line 3: PAGE=value (tab) LINES=value (tab) WIDTH=value (tab) TOP=switch, then a new line.
56E1-56E6
DEFM "CODE" / DEFB B8H,03H 43 4F 44 45 B8 03
Text 23 (HELP FORMS), line 4: CODE=value, the end of the text (03H).
56E7-56E8
DEFB 97H,0DH 97 0D
Text 24 (HELP FREE), line 1: FREE, then a new line.
56E9-56EE
DEFB 97H,B1H,C0H,B2H,B4H,03H 97 B1 C0 B2 B4 03
Text 24 (HELP FREE), line 2: FREE <FROM> <:dr> <TO> fs/@ds, the end of the text (03H).
56EF-56F2
DEFB 98H,C0H,B5H,C6H 98 C0 B5 C6
Text 25 (HELP I), line 1: I <:dr> (param=exp,...), then an empty line.
56F3-56F9
DEFM "MOUNT" / DEFB B6H,03H 4D 4F 55 4E 54 B6 03
Text 25 (HELP I), line 2: MOUNT=switch, the end of the text (03H).
56FA-56FB
DEFB 99H,0DH 99 0D
Text 26 (HELP JOIN), line 1: JOIN, then a new line.
56FC-5701
DEFB 99H,B1H,BAH,B2H,B4H,03H 99 B1 BA B2 B4 03
Text 26 (HELP JOIN), line 2: JOIN <FROM> @ds <TO> fs/@ds, the end of the text (03H).
5702-5705
DEFB 9AH,B9H,B5H,0DH 9A B9 B5 0D
Text 27 (HELP KILL), line 1: KILL fs (param=exp,...), then a new line.
5706-5709
DEFB 9AH,BBH,B5H,0DH 9A BB B5 0D
Text 27 (HELP KILL), line 2: KILL wildmask (param=exp,...), then a new line.
570A-570C
DEFB 9AH,C5H,C6H 9A C5 C6
Text 27 (HELP KILL), line 3: KILL @ds/:dr, then an empty line.
570D-5718
DEFB BDH,B6H,09H,CFH,B6H,09H,A4H,B6H,09H,D1H,B6H,0DH BD B6 09 CF B6 09 A4 B6 09 D1 B6 0D
Text 27 (HELP KILL), line 4: INVIS=switch (tab) ECHO=switch (tab) SYSTEM=switch (tab) QUERY=switch, then a new line.
5719-571B
DEFB BCH,B7H,03H BC B7 03
Text 27 (HELP KILL), line 5: PW='string', the end of the text (03H).
571C-571F
DEFB 9BH,B2H,B4H,03H 9B B2 B4 03
Text 28 (HELP LIB), line 1: LIB <TO> fs/@ds, the end of the text (03H).
5720-5726
DEFB 9CH,B1H,B4H,B2H,B4H,B5H,C6H 9C B1 B4 B2 B4 B5 C6
Text 29 (HELP LIST), line 1: LIST <FROM> fs/@ds <TO> fs/@ds (param=exp,...), then an empty line.
5727-572B
DEFM "CTL" / DEFB B6H,03H 43 54 4C B6 03
Text 29 (HELP LIST), line 2: CTL=switch, the end of the text (03H).
572C-5730
DEFB 9DH,B1H,B9H,B5H,C6H 9D B1 B9 B5 C6
Text 30 (HELP LOAD), line 1: LOAD <FROM> fs (param=exp,...), then an empty line.
5731-573E
DEFB D0H,B6H,09H / DEFM "RUN" / DEFB B6H,09H,C7H,B8H,09H,D3H,B8H,03H D0 B6 09 52 55 4E B6 09 C7 B8 09 D3 B8 03
Text 30 (HELP LOAD), line 2: PROMPT=switch (tab) RUN=switch (tab) START=value (tab) TRA=value, the end of the text (03H).
573F-574A
DEFB 9EH / DEFM " <message>" / DEFB 03H 9E 20 3C 6D 65 73 73 61 67 65 3E 03
Text 31 (HELP PAUSE), line 1: PAUSE <message>, the end of the text (03H).
574B-574E
DEFB 9FH,C0H,B5H,C6H 9F C0 B5 C6
Text 32 (HELP PROT), line 1: PROT <:dr> (param=exp,...), then an empty line.
574F-575C
DEFB BCH,B7H,09H / DEFM "MPW" / DEFB B7H,09H,D6H,B7H,09H,8EH,B7H,0DH BC B7 09 4D 50 57 B7 09 D6 B7 09 8E B7 0D
Text 32 (HELP PROT), line 2: PW='string' (tab) MPW='string' (tab) NAME='string' (tab) DATE='string', then a new line.
575D-576F
DEFM "LOCK" / DEFB B6H,09H,D4H,B6H,09H,D5H,B6H,09H / DEFM "CLEAN" / DEFB B6H,03H 4C 4F 43 4B B6 09 D4 B6 09 D5 B6 09 43 4C 45 41 4E B6 03
Text 32 (HELP PROT), line 3: LOCK=switch (tab) ACC=switch (tab) UPD=switch (tab) CLEAN=switch, the end of the text (03H).
5770-5776
DEFB A0H,B1H,B9H,B2H,B9H / DEFM "2" / DEFB 0DH A0 B1 B9 B2 B9 32 0D
Text 33 (HELP RENAME), line 1: RENAME <FROM> fs <TO> fs2, then a new line.
5777-577D
DEFB A0H,B1H,BAH,B2H,BAH / DEFM "2" / DEFB 0DH A0 B1 BA B2 BA 32 0D
Text 33 (HELP RENAME), line 2: RENAME <FROM> @ds <TO> @ds2, then a new line.
577E-5784
DEFB A0H,B1H,CEH,B2H,CEH / DEFM "2" / DEFB 03H A0 B1 CE B2 CE 32 03
Text 33 (HELP RENAME), line 3: RENAME <FROM> :dr <TO> :dr2, the end of the text (03H).
5785-5786
DEFB A1H,0DH A1 0D
Text 34 (HELP RESET), line 1: RESET, then a new line.
5787-578A
DEFB A1H,B1H,C5H,03H A1 B1 C5 03
Text 34 (HELP RESET), line 2: RESET <FROM> @ds/:dr, the end of the text (03H).
578B-578C
DEFB A2H,0DH A2 0D
Text 35 (HELP RS232), line 1: RS232, then a new line.
578D-578F
DEFB A2H,B5H,C6H A2 B5 C6
Text 35 (HELP RS232), line 2: RS232 (param=exp,...), then an empty line.
5790-57AA
DEFM "BAUD" / DEFB B8H,09H / DEFM "WORD" / DEFB B8H,09H / DEFM "STOPS" / DEFB B8H,09H / DEFM "PARITY" / DEFB B6H,0DH 42 41 55 44 B8 09 57 4F 52 44 B8 09 53 54 4F 50 53 B8 09 50 41 52 49 54 59 B6 0D
Text 35 (HELP RS232), line 3: BAUD=value (tab) WORD=value (tab) STOPS=value (tab) PARITY=switch, then a new line.
57AB-57BF
DEFM "EVEN" / DEFB B6H,09H / DEFM "ODD" / DEFB B6H,09H / DEFM "DTR" / DEFB B6H,09H / DEFM "RTS" / DEFB B6H,0DH 45 56 45 4E B6 09 4F 44 44 B6 09 44 54 52 B6 09 52 54 53 B6 0D
Text 35 (HELP RS232), line 4: EVEN=switch (tab) ODD=switch (tab) DTR=switch (tab) RTS=switch, then a new line.
57C0-57C2
DEFB 85H,B6H,03H 85 B6 03
Text 35 (HELP RS232), line 5: BREAK=switch, the end of the text (03H).
57C3-57C6
DEFB A3H,B2H,B4H,03H A3 B2 B4 03
Text 36 (HELP SCREEN), line 1: SCREEN <TO> fs/@ds, the end of the text (03H).
57C7-57C8
DEFB A4H,0DH A4 0D
Text 37 (HELP SYSTEM), line 1: SYSTEM, then a new line.
57C9-57D0
DEFB A4H / DEFM " <fs>" / DEFB B5H,C6H A4 20 3C 66 73 3E B5 C6
Text 37 (HELP SYSTEM), line 2: SYSTEM <fs> (param=exp,...), then an empty line.
57D1-57E3
DEFB A5H,B6H,09H,8EH,B6H,09H / DEFM "LOGO" / DEFB B6H,09H / DEFM "BLINK" / DEFB B6H,0DH A5 B6 09 8E B6 09 4C 4F 47 4F B6 09 42 4C 49 4E 4B B6 0D
Text 37 (HELP SYSTEM), line 3: TIME=switch (tab) DATE=switch (tab) LOGO=switch (tab) BLINK=switch, then a new line.
57E4-57FB
DEFM "CAPS" / DEFB B6H,09H / DEFM "CURSOR" / DEFB B8H,09H / DEFM "HIGH$" / DEFB B8H,09H,CCH,B8H,0DH 43 41 50 53 B6 09 43 55 52 53 4F 52 B8 09 48 49 47 48 24 B8 09 CC B8 0D
Text 37 (HELP SYSTEM), line 4: CAPS=switch (tab) CURSOR=value (tab) HIGH$=value (tab) STEP=value, then a new line.
57FC-5801
DEFM "SAVE" / DEFB B6H,03H 53 41 56 45 B6 03
Text 37 (HELP SYSTEM), line 5: SAVE=switch, the end of the text (03H).
5802-5803
DEFB A5H,0DH A5 0D
Text 38 (HELP TIME), line 1: TIME, then a new line.
5804-580E
DEFB A5H / DEFM " hh:mm:ss" / DEFB 03H A5 20 68 68 3A 6D 6D 3A 73 73 03
Text 38 (HELP TIME), line 2: TIME hh:mm:ss, the end of the text (03H).
580F-5811
DEFB A6H,C1H,03H A6 C1 03
Text 39 (HELP VERIFY), line 1: VERIFY <(switch)>, the end of the text (03H).
5812
DEFB 03H 03
Text 40, that of word 39, the carriage return of the list: only its ending 03H, since no name can match a carriage return.
5813-5819
DEFB A8H,B1H,C0H,B2H,C0H,B5H,C6H A8 B1 C0 B2 C0 B5 C6
Text 41 (HELP BACKUP), line 1: BACKUP <FROM> <:dr> <TO> <:dr> (param=exp,...), then an empty line.
581A-581F
DEFB C2H,B7H,09H,8EH,B7H,03H C2 B7 09 8E B7 03
Text 41 (HELP BACKUP), line 2: USE='string' (tab) DATE='string', the end of the text (03H).
5820-5824
DEFB A9H,B1H,CEH,B5H,0DH A9 B1 CE B5 0D
Text 42 (HELP CONVERT), line 1: CONVERT <FROM> :dr (param=exp,...), then a new line.
5825-582F
DEFB A9H,B1H,CEH / DEFM "1" / DEFB B2H,CEH / DEFM "2" / DEFB B3H,BBH,B5H,C6H A9 B1 CE 31 B2 CE 32 B3 BB B5 C6
Text 42 (HELP CONVERT), line 2: CONVERT <FROM> :dr1 <TO> :dr2 <USING> wildmask (param=exp,...), then an empty line.
5830-583F
DEFM "V13" / DEFB B6H,09H / DEFM "V12" / DEFB B6H,09H,87H,B6H,09H,90H,B6H,0DH 56 31 33 B6 09 56 31 32 B6 09 87 B6 09 90 B6 0D
Text 42 (HELP CONVERT), line 3: V13=switch (tab) V12=switch (tab) CAT=switch (tab) DIR=switch, then a new line.
5840-584B
DEFB A4H,B6H,09H,BDH,B6H,09H,D7H,B6H,09H,D1H,B6H,0DH A4 B6 09 BD B6 09 D7 B6 09 D1 B6 0D
Text 42 (HELP CONVERT), line 4: SYSTEM=switch (tab) INVIS=switch (tab) OVER=switch (tab) QUERY=switch, then a new line.
584C-584E
DEFB CFH,B6H,03H CF B6 03
Text 42 (HELP CONVERT), line 5: ECHO=switch, the end of the text (03H).
584F-5853
DEFB AAH,C0H,B2H,B4H,C6H AA C0 B2 B4 C6
Text 43 (HELP DIRCHECK), line 1: DIRCHECK <:dr> <TO> fs/@ds, then an empty line.
5854-586A
DEFM "GAT" / DEFB B6H,09H / DEFM "HIT" / DEFB B6H,09H / DEFM "FILES" / DEFB B6H,09H / DEFM "CYL0" / DEFB B6H,03H 47 41 54 B6 09 48 49 54 B6 09 46 49 4C 45 53 B6 09 43 59 4C 30 B6 03
Text 43 (HELP DIRCHECK), line 2: GAT=switch (tab) HIT=switch (tab) FILES=switch (tab) CYL0=switch, the end of the text (03H).
586B-586D
DEFB ABH,B9H,03H AB B9 03
Text 44 (HELP DISKDUMP), line 1: DISKDUMP fs, the end of the text (03H).
586E-5871
DEFB ACH,C0H,B5H,C6H AC C0 B5 C6
Text 45 (HELP FORMAT), line 1: FORMAT <:dr> (param=exp,...), then an empty line.
5872-587D
DEFB C2H,B7H,09H,8EH,B7H,09H,BCH,B7H,09H,D6H,B7H,0DH C2 B7 09 8E B7 09 BC B7 09 D6 B7 0D
Text 45 (HELP FORMAT), line 2: USE='string' (tab) DATE='string' (tab) PW='string' (tab) NAME='string', then a new line.
587E-588B
DEFM "DEN" / DEFB B7H,09H / DEFM "CYLS" / DEFB B8H,09H,CAH,B8H,03H 44 45 4E B7 09 43 59 4C 53 B8 09 CA B8 03
Text 45 (HELP FORMAT), line 3: DEN='string' (tab) CYLS=value (tab) SIZE=value, the end of the text (03H).
588C-5894
DEFB ADH,B1H,C0H,B2H,B4H,B3H,BBH,B5H,C6H AD B1 C0 B2 B4 B3 BB B5 C6
Text 46 (HELP MAP), line 1: MAP <FROM> <:dr> <TO> fs/@ds <USING> wildmask (param=exp,...), then an empty line.
5895-589F
DEFB A4H,B6H,09H,BDH,B6H,09H / DEFM "HEX" / DEFB B6H,03H A4 B6 09 BD B6 09 48 45 58 B6 03
Text 46 (HELP MAP), line 2: SYSTEM=switch (tab) INVIS=switch (tab) HEX=switch, the end of the text (03H).
58A0-58A2
DEFB AEH,B9H,0DH AE B9 0D
Text 47 (HELP PATCH), line 1: PATCH fs, then a new line.
58A3-58A9
DEFB AEH,B9H / DEFM "1" / DEFB B9H / DEFM "2" / DEFB B5H,C6H AE B9 31 B9 32 B5 C6
Text 47 (HELP PATCH), line 2: PATCH fs1 fs2 (param=exp,...), then an empty line.
58AA-58AC
DEFB 9AH,B6H,03H 9A B6 03
Text 47 (HELP PATCH), line 3: KILL=switch, the end of the text (03H).
58AD-58AF
DEFB AFH,B9H,03H AF B9 03
Text 48 (HELP RESTORE), line 1: RESTORE fs, the end of the text (03H).
58B0-58B7
DEFB B0H,CEH / DEFM " <fs>" / DEFB C6H B0 CE 20 3C 66 73 3E C6
Text 49 (HELP SYSGEN), line 1: SYSGEN :dr <fs>, then an empty line.
58B8-58BD
DEFM "XFER" / DEFB B8H,03H 58 46 45 52 B8 03
Text 49 (HELP SYSGEN), line 2: XFER=value, the end of the text (03H).

58BEH - The Heading and the Variables

The heading of the list, the column count, the source block of EVAL@ (loaded as 00H) and, not loaded, the address of the output, the destination block, which is also the wildmask block and the file control block of an output file, and the buffer of the file.

58BE-58E4
DEFB 0AH / DEFM "HELP is available for the following:" / DEFB 0AH,0DH 0A 48 45 4C 50 20 69 73 20 61 76 61 69 6C 61 62 6C 65 20 66 6F 72 20 74 68 65 20 66 6F 6C 6C 6F 77 69 6E 67 3A 0A 0D
The heading of the list (5315H): a line feed, HELP is available for the following:, a line feed and a carriage return, sent by 5301H.
58E5
DEFB 00H 00
The column count of the output (52E4H): 00H at the start of a line, one more after each character other than a carriage return.
58E6
DEFB 00H 00
The flag byte of the source block, which EVAL@ fills: bit 6 a name, bit 7 a device, bit 3 a drive; 00H as loaded.
58E7-5906
DEFB 00H x 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
The text of the source field: the name HELP is asked about, ended by 03H (5232H); 00H as loaded, which matches no word.
5907-5908
DEFS 2
The address of the output (522EH): the DCB of a device from LOCDCB%, or the file control block at 590AH.
5909
DEFS 1
The flag byte of the destination block, also the wildmask block, which EVAL@ fills: bit 6 a name, bits 0-2 a device number.
590A-5929
DEFS 32
The text of the destination field, which INIT@ takes as the file control block of an output file (5217H, 5221H).
592A-5A29
DEFS 256
The 256 byte buffer of an output file, given to INIT@ in Register Pair HL at 521CH.

5A2AH - The Evaluation Block

The block EVAL@ works with (5200H): the flags, the addresses of the source, destination and wildmask blocks, and of the parameter block, which is empty: HELP has no parameters.

5A2A
DEFB 00H 00
The flag byte of the evaluation block (520CH): EVAL@ sets bit 0 for the source, 1 the destination, 2 the wildmask, 3 the parameters.
5A2B-5A2C
DEFW 58E6H E6 58
The address of the source block at 58E6H, which takes the first field, the name HELP is asked about.
5A2D-5A2E
DEFW 5909H 09 59
The address of the destination block at 5909H, which takes the second field or the field after TO, the output.
5A2F-5A30
DEFW 5909H 09 59
The address of the wildmask block, the destination block at 5909H again: a field with a wildcard is taken as the output too.
5A31-5A32
DEFW 5A33H 33 5A
The address of the parameter block at 5A33H, the byte after this one, which holds no parameter.
5A33
DEFB 00H 00
The parameter block of HELP: only the 00H that ends a parameter table, so HELP has no parameters of its own.