home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
- A BRIEF OUTLINE OF CP/M AND CP/M COMMANDS
-
- Eli Freedman
- ABC Br, IBD
-
- These notes are necessarily sketchy. Not every CP/M utility is
- mentioned; of those that are, not every ramification is covered.
-
- CP/M stands for Control Program for Microcomputers. It is a
- collection of computer programs for the Intel 8080 and the Zilog
- Z80 chips. CP/M handles all of the sometimes intricate and
- always tedious details of input/output (I/O), including communi-
- cation among processor, disks, console, and printer, including
- disk-file maintenance.
-
- For the North Star Advantage, CP/M is furnished on a 5-1/4 inch
- floppy disk where the system occupies the first 3 tracks; these
- are called the system tracks. When you press the red button on
- the back of an Advantage and then the RETURN key, the CP/M system
- is loaded into the computer. This operation is called "booting"
- the computer; note that it is not done with the foot! When the
- computer is booted, CP/M loads itself into the computer's core
- memory. It occupies approximately 6000 (decimal) bytes at (or
- near) the top of the memory, and also the first 256 (decimal)
- bytes starting at 0.
-
- There are two kinds of "booting":
-
- Alternate How
- Name Name Accomplished Why
- ----- -------- ------------- --------------------------
- cold hard turn machine on start-up
- press red button resume after crash
- special program
-
- warm soft press ^C read disk directory
-
- After booting, the screen displays A>, meaning that you are
- "logged in" on drive A. If you type B:, the screen shows B>,
- meaning that the logged drive is now B. WordStar and many other
- programs require that you know which drive is the logged one.
-
- The principal components of CP/M are the Basic Input/Output
- System (BIOS), the Basic Disk Operating System (BDOS), and the
- Console Command Processor (CCP). These programs are all located
- in the "high memory" part of CP/M. The largest amount of the
- computer's random-access memory lies between the two parts of
- CP/M and is referred to as the Transient Program Area (TPA). All
- of the TPA is available to the user; some CP/M programs also use
- it.
-
-
-
-
-
-
- 1
-
-
-
-
-
-
-
- CP/M has two kinds of commands, built-in and transient. The
- built-in commands (ERA, TYPE, SAVE, REN, and DIR) are in the CCP,
- and do not change anything in the TPA. Also, they do not show up
- in the directory listing of the disk. The transient commands do
- show up in the directory (unless you go to the extra trouble of
- hiding them--it can be done) and they are loaded into the TPA for
- execution.
-
- FILE NAMES. Almost all CP/M commands work on file names. A file
- name is 1 to 8 letters or numbers, plus an optional extension,
- which is a period and 1 to 3 letters or numbers. Some special
- characters can be used in file names. The drive letter may
- appear in front of the name, followed by a colon. If the drive
- letter is not used explicitly, the logged drive is assumed by
- default.
-
- Examples: MYFILE.EXT URFILE B:afile.for A:CPNOTES.TXT
-
- Note that A:MYFILE is different from B:MYFILE; likewise,
- MYFILE.TXT is not the same as MYFILE.BAK.
-
- Certain extensions have special meanings:
-
- .FOR A FORTRAN source file.
- .BAS A BASIC language file.
- .REL Relocatable code produced by various
- compilers.
- .ASM Assembly language source file.
- .HEX The output from certain assemblers.
- .PRN A print listing produced by some compilers.
- .COM A command file (executable program).
- .SUB A SUBMIT file (similar to a CCL procedure).
- .BAK A backup file; produced by WordStar and some
- other programs.
- .MAC A file for the Microsoft M80 macro assembler.
-
- These uses are required in most cases. For example: the Micro-
- soft FORTRAN compiler will not compile a program without a .FOR
- extension; you cannot execute a program that does not have a .COM
- extension. I recommend that you use extensions only to designate
- the kind of file; don't rely on the extension alone (except for
-
- WILD-CARD DESIGNATORS. In many cases one wants to refer to a
- class of files, not just one. This is done with the "wild-card
- designators," * and ?. The ? matches any letter; the * means
- "any."
-
-
-
-
-
-
-
-
-
-
- 2
-
-
-
-
-
-
-
- Examples:
-
- *.FOR means any file with the extension FOR.
-
- AB??????.* means any file whose name starts with AB and
- has any extension.
-
- AB??????.TXT means any file whose name starts with AB
- and has extension TXT.
-
- SOME SPECIAL CONTROL CODES. Control codes are generated by
- holding down the key marked CNTRL (or CONTROL) while pressing
- another. In text, the up arrow, ^, is used to designate the
- CNTRL key. In CP/M, certain control codes have special meanings:
-
- ^C Interrupt a command or program (may not always
- work); perform a "soft boot" (read the directory on each disk
- drive).
-
- ^S Stop/start the screen display.
-
- ^P Start/stop the printer; when "on", any text that
- appears on the screen will also be printed.
-
- ^X Erase command line, return to col. 1
-
- BUILT-IN COMMANDS.
-
- DIR [A:URFILE.EXT]
- Display the directory for a file or a disk.
-
- Examples: DIR
- Shows the directory for the logged disk.
-
- DIR B:
- Shows the directory for disk B no matter which disk is the logged
- one.
-
- DIR A:*.COM
- Shows the directory for all files on the disk on drive A that
- have the extension COM.
-
- DIR B:MYFILE.*
- Shows the directory for all files on drive B that have the name
- MYFILE, no matter what their extension is.
-
- REN NEWFILE.EX2=OLDFILE.EXT1
- Rename a file. The old file name is replaced by the new file name
- in the directory; the contents of the file are not disturbed.
-
- ERA FILENAME
- Erase the name of the file from the directory. The contents of
- the file are not disturbed, and can be retrieved by special
- programs.
-
-
- 3
-
-
-
-
-
-
-
- Examples: ERA B:*.BAK
- Erases on all files on drive B with the extension BAK.
-
- ERA A:MYFILE.TXT
- Erases only MYFILE.TXT on drive A.
-
- ERA *.*
- Careful! This command will erase on files on the logged disk.
-
- SOME CP/M TRANSIENT PROGRAMS
-
- All programs that run under CP/M have the extension .COM. The
- program is executed by typing the name without the extension.
- Generally either lower- or upper-case letters may be used, but
- there are exceptions (e.g., in FORMAT).
-
- STAT
-
- Display size and attributes of a file or files or a disk; also,
- change the designations of I/O units. STAT by itself merely
- tells you how much space is left on the logged drive. STAT B:
- tells you how much space is left on the disk on drive B:.
-
- STAT A:*.* tells you the name of every file on the disk now on
- drive A:, and its attributes. There are two attributes: R/W,
- meaning both reading and writing are permitted; and R/O, meaning
- the file is read-only.
-
- STAT B:*.COM gives this information for every .COM file on drive
- B:. STAT also permits you to change device assignments; see the
- references.
-
- COPY
- Copy the contents of one disk onto another entirely, including
- the system tracks. COPY is self-guiding; just type the command
- and follow the instructions. Note that COPY refers to the drives
- by number, not by letter.
-
- FORMAT
- A new disk cannot be used until it has been formatted. For CP/M
- systems, this means that all of the tracks are filled with the
- format character (E5 HEX). This is accomplished by typing FORMAT
- and then following the directions that appear. A disk does not
- have to be formatted if the very next thing you do to it is to
- COPY something onto it, since this automatically initializes the
- disk.
-
- PIP
- Copy one or more files to other files; the new files do not have
- to be on the same drive, but they may be.
-
-
-
-
-
-
- 4
-
-
-
-
-
-
-
- Examples: PIP B:NEWFILE.EX2 = A:OLDFILE.EX1
- PIP NEWFILE = B:OLDFILE
- PIP A:*.* = B:*.* Copies every file from B: to A:;
- the names remain the same, except for the change in drive
- designation.
-
- PIP B:=A:*.FOR Copies every FORTRAN file on drive A:
- onto drive B:
-
- PIP can be invoked alone; it then responds *. You then name
- files two by two (i.e., new and old) for copying. Terminate with
- a CR.
-
- SUBMIT FILE.SUB PAR1 PAR2 PAR3 ...
-
- A great program that permits you to operate in almost a batch
- mode. The quantities PARi replace dummy arguments. You build up
- a sequence of CP/M commands in a file whose extension must be
- you place the dummy arguments, $1, $2, etc. When the file is
- then submmitted, CP/M will make the substitutions, print the
- command, and then execute it.
-
- Example: Suppose you create a file TEST.SUB whose contents are
-
- PIP $1:$2.TXT=B:$3.TXT
- Then you type
- SUBMIT TEST A GOOD BAD
-
- The screen will show the complete command
-
- PIP A:GOOD.TXT=B:BAD.TXT
-
- and then the program will execute.
-
- SAVE n FILENAME
- This command transfers n*256 bytes from memory starting at 256
- (decimal) to the named file on disk. It is used after working
- with DDT (see references). Also, some communication packages
- (e.g., CMOD) transfer data from an external computer to your
- computer's memory; SAVE is then used to store the data on a disk.
-
- SYSGEN
-
- It is very convenient to be able to boot your computer from every
- disk you use. This means that every disk must have a CP/M system
- on it. (I also recommend that every disk have PIP, FORMAT, and
- COPY on it.)
-
- There are two ways in which you can put a CP/M saystem on a disk.
- You can use COPY, which copies everything from one disk to
- another, track for track. This method has the disadvantage that
- you then have to remove all of the files that were also copied.
-
-
-
-
- 5
-
-
-
-
-
-
-
- SOME REFERENCES
-
- In my opinion, the best reference on CP/M is:
-
- Rodnay Zaks, "The CP/M Handbook," Sybex; 1980.
-
- J. N. Fernandez & R. Ashley, "Using CP/M," John Wiley; 1980 is
- written in a "programmed learning" style that I found
- infuriating. It is a good self-teaching text, but a poor
- reference book.
-
- CP/M is a product of Digital Research. This company supplies
- Manuals with the system when you buy it. They have a well-
- deserved reputation for denseness and incomprehensibility.
-
- An interesting book is
-
- Jack D. Dennon, "CP/M Revealed," Hayden; 1982. It gives some of
- the details of how CP/M does its stuff.
-
- ACKNOWLEDGMENT
-
- Many thanks to George E. Keller for invaluable assistance and
- advice.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- version 2.01/9-I-84
-
-
- 6
-