ASM86  ASSIGN kCOMMANDS  oCONVENTIONS  !CONFIG  ^DDT86 * TDIR/DIRS 1 ]DSKMAINT 4 gERR-MESSAGES= nED B bERA F <FILENAME H NFUNCTION W GENCMD f 2HDMAINT l sHELP | GPIP ‚ EXAMPLES ˆ >REN Ž bSTAT ” OPTIONS Ÿ .SUBMIT ¡ }TOD ¥ ~TYPE ® USER ± [$ ‹Y/$ ‹$ b/s$ /[‰$ yý‹$ sÃè$ èú///1asm86 Syntax: ASM86 filespec {$Ad Hd Pd Sd Fd} A source file drive - .A86 d = (logical drives A-D) H hex file drive - .H86 d = (logical drives A-D, X, Y, Z) P print file drive - .LST d = (logical drives A-D, X, Y, Z) S symbol file drive - .SYM d = (logical drives A-D, X, Y, Z) F format of hex file- .H86 d = (D=Digital Research, I=Intel) Purpose: ASM-86 assembles 8088 and 8086 assembly language source statements, producing a hexadecimal file, a print file and a symbol table file. The assumed filetype of source and included files is A86. The special characters X, Y and Z indicate output to the console, output to the printer, and zero output, respectively. If no format is specified, Digital Research format (FD) is assumed. Examples: A>ASM86 PROG A>ASM86 PROG $SZ PX B>ASM86 PROG $HB PY AC ///1assign Syntax: ASSIGN ASSIGN logical-dev type physical-dev PURPOSE: The ASSIGN utility lets you assign a logical device to one or more physical devices. The logical devices are: CON:, AXI:, AXO:, and LST:. The type can be either INPUT or OUTPUT. The physical device can be: KEYBOARD Main Keyboard (Input) SCREEN Main Screen (Output) SERIAL-0 Serial Port #0 (Input and Output) SERIAL-1 Serial Port #1 (Input and Output) PRINTER-0 Parallel Printer #0 (Output) PRINTER-1 Parallel Printer #1 (Output) PRINTER-2 Parallel Printer #2 (Output) Input can only come from one device. Output can go to several devices. If you do not enter a command tail, the ASSIGN utility will present an interactive menu. EXAMPLES: A>ASSIGN LIST OUTPUT SCREEN SERIAL-0 A>ASSIGN L O SN S0 B>ASSIGN CONSOLE IN S1 B>ASSIGN CON OUT SN P0 S0 ///1commands CP/M-86 command line syntax: A>COMMAND {COMMAND TAIL} CP/M-86 accepts command lines you type following the system prompt. A command line is composed of a command keyword, an optional command tail, and a carriage return keystroke. The command keyword identifies a command (program) to be executed. The optional command tail can consist of a file specification or various command parameters. To complete the command, press the carriage return key. ///2conventions Command Summary Conventions The command summary lists each CP/M-86 command in alphabetical order using the following special symbols to define command syntax: {} indicate an optional item d indicates a drive number n indicates a number | separates choices indicates a carriage return ^ indicates the Control (CTRL) key RW means Read Write RO means Read Only SYS means System attribute DIR means Directory attribute ///1config Syntax: CONFIG Purpose: The CONFIG command lets you specify the parameters of the serial ports interactively or in a command line. Interactive Mode When you enter: A>config the CONFIG menu appears. If there is only one serial port installed, only the Port 0 column appears; if you have two serial ports a column for Port 1 apppears. The values shown when you invoke CONFIG are the current values; change them by pressing the appropriate keys, with each stroke incrementing the appropriate value. The F9 and F10 keys return you to command level. If you want to define all the serial port parameters in a single command line, CONFIG accepts the following syntax: CONFIG PORT# BAUDRATE WORDLENGTH PARITY STOPBITS In this format, PORT# is either P0, indicating port 0, or P1, indicating port 1. BAUDRATE is 110, 150, 300, 600, 1200, 2400, 4800, or 9600, indicating the transmission speed in baud (bits-per-second). WORDLENGTH is 5, 6, 7, or 8, specifying the number of data bits for a transmitted character. STOPBITS is either 1 or 2, adding that number of stop bits to the end of a transmitted character. A typical CONFIG command line looks like this: A>config p0 9600 7 even 1 This command line sets serial port 0 to 9600 baud, with seven data bits, even parity and 1 stop bit. If you try to configure a serial port on a system without such ports, CONFIG returns this error message: No Serial communication options installed and control returns to system command level. ///1ddt86 Syntax: DDT86 {filespec} Purpose: DDT86 aids debugging of 8086 and 8088 programs. DDT86 assumes a default filetype of CMD. Use GENCMD to convert hexadecimal (H86) files to command files (CMD) before invoking DDT86. If the file specification is not included, DDT86 is loaded into User Memory without a test program. You must not use the DDT86 commands G, T, or U until you have first loaded a test program. The test program is loaded using E command. If the file specification is included, both DDT86 and the test program file specified by filespec are loaded into User Memory. Use G, T, or U to begin execution of the test program under supervision of DDT86. Examples: A>DDT86 B>DDT86 PROGRAM1 A>DDT86 PROGRAM2.CMD B>DDT86 A:PROGRAM3.CMD ///1dir/dirs Syntax: DIR {filespec} DIRS {filespec} Purpose: Displays the names of files in the directory of a diskette. Use DIR to find non-system files and DIRS to find system files. Examples: A>DIR A>DIRS B>DIR B: A>DIR C:MYFILE.DAT B>DIRS *.CMD A>DIR A*.A86 A>DIR PROG???.H86 A>DIR PROGRAM.* ///1dskmaint Syntax: DSKMAINT Purpose: DSKMAINT is a multi-function menu-driven command that performs these diskette maintenance operations: formatting new or re-usable diskettes, copying one diskette's contents to another, and verifying a diskette format. Single- and Double-Sided Diskettes DSKMAINT only copies between two diskettes which have been formatted as the same type: between two single-sided diskettes or between two double-sided diskettes. To make a double-sided copy of a single-sided diskette, format your double-sided diskette, then use PIP to copy files between the two diskettes. Creating a Boot-Disk In order to create a boot disk you must first format a diskette, either single or double sided. Then exit DSKMAINT and use PIP to copy the file CPM.SYS to your disk. You will have to use the [r] option with PIP to copy CPM.SYS. DSKMAINT returns several error messages. HELP> DSKMAINT ERR-MESSAGES will give you a listing and explanations of the error messsages. ///2Err-messages DSKMAINT Error Messages Drive does not respond - the drive door is open or the diskette is improperly inserted. Disk read error - defective diskette. Diskettes are not of - you are trying to copy between single the same type and double sided diskettes. Source and destination - data does not compare, one of the data do not match diskettes is defective. Disk is write - write-protect tab is on the disk protected Disk is not formatted - defective diskette, or trying to format a double sided disk in single sided drives. ///1ed Syntax: ED input-filespec {d:|output-filespec} Purpose: ED is the CP/M-86 character file editor. Rename or redirect the new version of the file by specifying the destination drive or destination filespec. If you do not specify a file on the command line, ED will prompt you for the file names. Examples: A>ED TEST.DAT A>ED TEST.DAT B: A>ED TEST.DAT TEST2.DAT A>ED TEST.DAT B:TEST2.DAT ///1era Syntax: ERA filespec Purpose: ERA erases a file or group of files. ERA accepts ambiguous filenames. Examples: A>ERA DRAFT.BAK A>ERA B:LETTER.DAT A>ERA C:LETTER.* A>ERA D:*.BAK A>ERA B:*.* ///1filename Filename Format CP/M-86 identifies every file by its unique file specification. A file specification can have three parts, separated by their appropriate delimiters: a drive specification, a primary filename and a filetype. A drive letter must be followed by a colon. A filetype must be preceded by a period. The term "filespec" is an abbreviation for file specification, and indicates any valid combination of the drive, filename and filetype. This summary uses the following symbols to designate the parts of a filespec. d: represents the optional drive specification, which can be a single alphabetical character in the range A through P followed by a colon. filename represents the required primary filename, which can be 1 to 8 alphabetic or numeric characters. typ represents the optional filetype, which can be 0 to 3 alphabetic or numeric characters separated from the primary filename by a period. Valid combinations of the elements of a file specification are shown below: o d: o filename o d:filename o filename.typ o d:filename.typ Certain CP/M-86 commands select and process several files if "wildcard" characters appear in the primary filename or filetype. The two wildcard characters are ?, which matches an single letter in the same position, and *, which matches any character at that position and any other characters remaining in the filename or filetype. The command summaries indicate which commands accept wildcard characters in the filespec. ///1function Syntax: FUNCTION [filespec] Purpose: FUNCTION specifies the operations of the 20 programmable function keys (PFKs). FUNCTION operates in two modes, specified by the command tail entered with FUNCTION. If you supply no command tail FUNCTION displays a menu to select from. If you specify a filespec, FUNCTION takes its input from this file. Using The FUNCTION Menu When you first call FUNCTION the menu appears. The string of CP/M-86 commands and symbols following "F-number:" is the currently programmed function. Press any key F1-F10 to change the value. If you make a mistake you may backspace to delete characters or terminate the string with \00 or CTRL-@ and start from the main menu again. Non-Printing Characters You can specify absolute hexadecimal values so all possible control characters and 8-bit character codes can be used. Refer to the CP/M-86 Operating System Guide for a description of programming hexadecimal codes into the PFKs. Terminating Input Terminate your input by pressing CTRL- while also pressing @. If you mistakenly enter more than 20 characters, FUNCTION terminates the input automatically and returns to the key menu you started from, either the function key menu or the number pad key menu. Using FUNCTION With a Command File When you enter a filespec with FUNCTION, the function keys are programmed with the command strings found in the file. Examine the DATA.PFK file to learn how such files are constructed; refer to the FUNCTION command description in Section 4.11 of the CP/M-86 Operating System Guide for further detail. A>FUNCTION PFK.PFK FUNCTION reads the specified file, programs the keys accordingly, and returns to system command level. ///1gencmd Syntax: GENCMD filespec {8080 CODE[An,Bn,Mn,Xn] DATA[An,Bn,Mn,Xn] STACK[An,Bn,Mn,Xn] EXTRA[An,Bn,Mn,Xn]} A = Absolute memory location B = Beginning address of group in .H86 file M = Minimum memory required X = Maximum memory required Purpose: Converts hexadecimal object file (filetype assumed to be .H86) into executable file (of type .CMD). Switches controlling the type of memory model and group addresses can be included. All values are hexadecimal and are paragraph values. Examples: A>GENCMD PROG B>GENCMD PROG1 8080 B>GENCMD PROG2 DATA[M20] A>GENCMD PROG3 DATA[B4C,M260,XFFF] A>GENCMD PROG4 CODE[A40] DATA[M30] ///1hdmaint Syntax: HDMAINT The HDMAINT hard-disk maintenance utility is a menu-driven program that prepares your IBM-compatible hard disk for use with Concurrent CP/M-86. HDMAINT works by offering you alternatives in its menus. You respond to HDMAINT by pressing the function keys that correspond to your choices. HDMAINT performs the following functions: o Creates or changes a Concurrent CP/M-86 partition on your hard disk and prepares a volume within that partition for Concurrent CP/M-86's use. o Deletes any existing Concurrent CP/M-86 volume from your hard disk. o Makes any partition on the hard disk bootable or not bootable. o Toggles the state of a verify switch on or off. When the switch is on, Concurrent CP/M-86 confirms that everything it writes to the hard disk is correctly written by reading the data back and comparing it to data sent to the disk. o Increases the number of possible directory entries within a Concurrent CP/M-86 volume that has fewer than the maximum number of directory entries allowed. o Permits you to scan an existing Concurrent CP/M-86 volume for surface defects that developed after the partition was created. Before you call HDMAINT, be sure your current virtual console is in Dynamic mode. Set it to Dynamic mode with VCMODE. It is not possible to run HDMAINT when any other programs are being executed. Before invoking HDMAINT, close any open files and terminate any running programs. HDMAINT presents only meaningful options. Options that cannot be executed by HDMAINT at a given time never appear on the screen. When you use HDMAINT for the first time, accept the default values HDMAINT proposes whenever it asks you for a decision. This allows you to proceed quickly through the partition-creation process. You can use HDMAINT later to change your Concurrent CP/M-86 partition when you have a better idea of your needs. ///1help Syntax: HELP {topic}{,subtopic}...{[P]} Purpose: To supply information on how to use CPM-86 commands. HELP with no command tail lists the available topics. HELP, when followed by a topic and an optional sequence of subtopics, displays information about that topic on your screen. At the HELP prompt, HELP> , you can enter a topic and optional subtopics. Pressing ENTER without a topic specified terminates HELP. Help allows up to 8 subtopics. When the P option is used, the HELP display does NOT pause every 23 lines. Examples: A>HELP A>HELP dir A>HELP stat examples HELP> help HELP> stat Examples ///1pip Syntax: PIP filespec{[Gn]}=filespec{[O]}... PIP filespec|dev=filespec{[O]} PIP filespec|dev=dev{[O]} Purpose: Copies files, combines files and transfers files between peripheral devices. The first filespec is the destination. The second filespec is the source. The source or destination can be any CP/M-86 logical device. PIP with no command tail displays an * prompt and awaits your series of commands, entered and executed one line at a time. Source filespecs with options can be repeated, separated by commas, to combine two or more files into one file. [O] is any combination of the available options. The [Gn] option in the destination designates the USER number of the destination. ///2Examples Examples: Copy from one disk to another: A>PIP B:=A:DRAFT.TXT A>PIP B:DRAFT.TXT = A: Copy a file and rename it: A>PIP B:NEWDRAFT.TXT=A:OLDDRAFT.TXT A>PIP NEWDRAFT.TXT=OLDDRAFT.TXT Copy multiple files: A>PIP A>PIP B:=*.TXT [AV] A>PIP B:=*.CMD [RW] A>PIP B:=C:DRAFT.* A>PIP B:=*.* A>PIP B:=C:*.* Combine multiple files: A>PIP B:NEW.DAT=FILE1.DAT,FILE2.DAT Copy, rename and place in user 1: A>PIP NEWDRAFT.TXT[G1]=OLDDRAFT.TXT Copy, rename and get from user 1: A>PIP NEWDRAFT.TXT=OLDDRAFT.TXT[G1] Copy to/from logical devices: A>PIP B:FUNFILE.SUE=CON: A>PIP LST:=CON: A>PIP LST:=B:DRAFT.TXT[T8] A>PIP PRN:=B:DRAFT.TXT ///1ren Syntax: REN {d:}newname{.typ} = oldname{.typ} Purpose: REN changes the name of the existing file (specified by oldname) to a new name (specified by newname). You cannot specify two different drives. If the file specified by does not exist, REN displays the following message: No such file to rename If the file given by newname is already present in the directory, REN displays the following message on the screen: Not renamed: Newfile already exists, delete (Y/N)? Examples: A>REN NEWFILE.DAT = OLDFILE.DAT A>REN B:NEWFILE.DAT = OLDFILE.DAT ///1stat Syntax: STAT STAT d:= RO STAT filespec {RO|RW|SYS|DIR|SIZE} STAT {d:}DSK:|USR: Purpose: STAT supplies information about disk drives and files, and also changes attributes of files. STAT with no command tail returns the amount of free storage space in Kilobytes (1024 bytes or 1K) for all on-line diskettes used since CP/M-86 was started or reloaded, and indicates whether the drive is set to Read-Only (RO) or Read-Write (RW). RW is the default state, and drives become RO when you change a diskette and do not enter a CTRL C. Use STAT to set the drive to RO and enter CTRL C to set it to RW. STAT with a file specified in the command tail returns the number of kilobytes used by that file. STAT with a filespec can also set a file or group of files to RO, RW, SYS or DIR. STAT accepts wildcards in the command tail. STAT DSK: shows the characteristics of the default or specified drive. STAT USR: shows which user numbers contain files on a given diskette. Note that STAT accepts a dollar sign ($), square bracket ([), or no delimiter before RO, RW, SYS, DIR and SIZE options. Examples: A>STAT A>STAT B:=RO A>STAT myfile.txt A>STAT C:letter.bak A>STAT genledgr.dat RO,SYS A>STAT *.cmd RO A>STAT *.bak A>STAT B:*.* ///2options STAT Options: RW = Read Write RO = Read Only SYS = System attribute DIR = NO System attribute SIZE = Show the size of the file or files USR: = Shows USER numbers containing files DSK: = Shows characteristics of the default drive ///1submit Syntax: SUBMIT filespec {actual parameters} Purpose: SUBMIT processes a command file with a filetype of .SUB consisting of of CP/M-86 commands given one command per line. Any optional parameters (such as a drive or filespec) following the filespec in the command line are substituted for their corresponding formal parameters ($1,$2,$3...) in the SUBMIT file. Examples: A>SUBMIT START A>SUBMIT B:START A>SUBMIT START C: LETTER ///1tod Syntax: TOD {mm/dd/yy hh:mm:ss | P} Purpose: TOD displays or sets the date and time. TOD with no command tail displays the system date and time. Time is represented as a twenty-four hour clock, with hour values from 00 to 11 for the morning, and 12 to 23 for the afternoon and evening. TOD P displays the date and time continuously, until you strike any key. TOD mm/dd/yy hh:mm:ss sets the date and time to that specified in the command tail. When you start CP/M, these values are initially set to zero. To set the current date and time, supply a two-digit representation of the month, day and year for mm, dd, and yy respectively, and a two-digit representation of the hours, minutes and seconds for hh, mm and ss respectively. When the time specified corresponds to the correct time, strike any key. This sets the current date and time. Examples: A>TOD A>TOD P A>TOD 02/14/81 12:00:00 ///1type Syntax: TYPE filespec Purpose: TYPE displays contents of an ASCII file on the screen. Press any key to discontinue the display. TYPE does not accept wildcard filespecs. Entering a ^P prior to the type command causes the output to be echoed to the printer until another ^P is entered. Examples: A>TYPE letter.dat B>TYPE a:document.law C>TYPE program.bas D>TYPE program.a86 ///1user Syntax: USER {number 0 - 15} Purpose: USER displays and changes the current user number. USER with no command tail displays the current user number. USER with a number from 0 to 15 changes the current user number to the number specified by n. CP/M assumes a default user number of 0. Files set to SYStem on USER 0 are available to all USER areas as Read- Only. Examples: A>USER B>USER 2 A>USER 7 s into the PFKs. Terminating Input Terminate your input by pressing CTRL- while also pressing @. If you mi