home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
ENTERPRS
/
CPM
/
UTILS
/
S
/
SUPERMIT.ARK
/
SUPERMIT.DOC
< prev
next >
Wrap
Text File
|
1989-09-27
|
9KB
|
277 lines
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
SUPERMIT.DOC, Vers. 3.0
Copyright 1986, Logic Associates, Chicago
4/5/86
SUPERMIT (TM), Vers. 3.0
For all versions of CP/M 2.2 and most 8080/Z80 relatives.
(CP/M 3, CP/M+, ZCPR, probably MP/M, etc.)
[] A batch-job programming language, similar to BASIC.
[] Includes several uniquely flexible, stand-alone utilities.
[] SUPERMIT Version 3.0--
o Provides virtually universal compatibility with CP/M's
"family and friends."
o Fixes miscellaneous, minor problems in earlier versions.
("CP/M" is a registered trademark of Digital Research, Inc.)
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
BACKGROUND: Batch jobs
The SUBMIT utility of CP/M lets your computer do your typing for you.
Instead of typing each of a sequence of individual commands at the time
needed, you can put all the commands into a disk file, and tell CP/M to
get commands from disk instead of the console. Then, while your system
is busy doing all the work, you put up your heels, relax, and read the
newspaper.
If you have a set of commands that can be expressed as a straight-forward,
once-through sequence of steps, a standard SUBMIT job will do the trick.
But unlike a true program, such a job isn't very bright. It can't--
1) Perform a job step only if conditions warrant.
2) GO TO different job steps.
3) Create and manipulate dynamic variables.
4) Use arrays, loops, or other basic programming structures.
In effect, standard batch jobs operate as though each command were being
read off the top of a deck of punched cards, and then discarded.
SUPERMIT rescues batch jobs from the era of the punched card.
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
THE SUPERMIT CONCEPT
SUPERMIT gives batch jobs a "BASIC-like" capability.
SUPERMIT brings to SUBMIT files the three essential elements of
programming--
o IF...THEN...ELSE
o GOTO
o dynamic variables
The result is a quantum leap in the power of batch jobs.
* IF...THEN...ELSE allows job steps to be executed or bypassed
according to environmental conditions, including "result" codes
from previous steps.
* GOTO can jump to any line within the job.
* FOR...NEXT, DO...WHILE, and ON...GOTO structures can be created
to allow looping and branching among job steps.
* Nesting is available for IF...THEN...ELSE, for commands, and even
for variables.
* String variables can be up to 120 characters long.
* Single-dimensioned string arrays are supported.
* Numeric variables can have up to 8-digit precision.
* Filenames can be added, subtracted, multiplied, and/or divided.
(Wild cards are supported.)
* Filename characters can be replaced, transposed, and/or deleted.
(Wild cards are supported.)
* Subroutines and subjobs are feasible.
None of this diminishes the space available in main memory to run
programs. All SUPERMIT modules are totally transient.
And like BASIC, the SUPERMIT modules help job-writing by providing
extensive run-time diagnostics.
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
SUPERMIT MODULES
Works with CP/M--
Module Function Version 2.2 clones
------------ --------------------------------- ------- -----------------
SUPERMIT.DOC This text file. 3.0
IF.COM Like the IF command in BASIC. 3.0 X Some
IF+.COM = IF.COM with some limitations. 3.0 X X
#.COM ("ARRAY.COM") Extracts a line 3.0 X Some
from any standard text file,
inserts into command line.
#+.COM = #.COM with some limitations. 3.0 X X
GOTO.COM Like the GOTO command in BASIC. 3.0 X Some
SET.COM Like the LET command in BASIC. 3.0 X X
Treats filenames like variables.
SUPTEST1.SUB Test for IF, #, GOTO, and SET. 3.0 X Some
SUPTEST2.SUB Test for IF+, #+, GOTO, and SET. 3.0 X Some
SUPTEST3.SUB Test for IF+, #+, and SET. 3.0 X X
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
INSTRUCTIONS
Condensed instructions for each module are displayed by that module
when it is executed without parameters. For instance, to display
instructions for IF.COM, simply type--
IF<cr> where "<cr>" means the RETURN or ENTER key.
The instructions also tell how to get the complete SUPERMIT User's
Manual for $9.95.
We recommend purchasing the User's Manual, which contains additional
instructions, helpful shortcuts, and programming tips. Items include--
o How to write FOR...NEXT and other loops.
o How to restart a job at any desired step without reprogramming.
o How to create executable libraries that are more compact
than .LBR files, and yet can be changed with any text editor.
o How to write conditional compile/link/go jobfiles.
o How to write complex conditionals with IF.COM.
o How to use multiple string-operations to rename any file.
o How you might inadvertently disable the nesting capability
of IF.COM and #.COM.
o How to create and invoke jobstep subroutines.
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
"+" VERSIONS
The plus versions of IF.COM and #.COM were adapted for compatibility
with CP/M+. They are fully usable with CP/M 2.2 and most of its clones.
The plus versions are identical in function to their counterparts, but
do not recognize the resident commands of the CCP. In standard CP/M 2.2,
these resident commands are TYPE, ERA, USER, SAVE, and DIR.
If any of these resident commands are needed for use with the plus
versions, a suitable utility program can be created or obtained that
performs the same function.
For instance, XDIR.COM or SD.COM may be used instead of DIR. And
instead of the ERA command, a simple four-line assembly language
program can be created, called ERA.COM. (Complete instructions for
creating ERA.COM are given in the SUPERMIT User's Manual.)
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
WHICH MODULES SHOULD I USE?
Three tests for compatibility are provided: SUPTEST1.SUB, SUPTEST2.SUB,
and SUPTEST3.SUB. They are numbered in order of decreasing functionality.
Begin testing by reading the test instructions contained in SUPTEST1.SUB,
then executing that test. If the test is successful, you can use modules
IF, #, GOTO, and SET. This set of modules comprises the fullest set of
SUPERMIT functions.
If SUPTEST1.SUB is not completely successful, read the instructions contained
in SUPTEST2.SUB and then execute it. If this test is successful, you can
use modules IF+, #+, GOTO, and SET. This set of modules contain essentially
the same functions as those in SUPTEST1.SUB.
(The "plus" modules are implemented in a different manner from the others,
to make them compatible with a wider variety of CP/M look-alikes. The trade-
off is that the "plus" modules cannot execute the resident commands of the
CCP: TYPE, DIR, ERA, USER, and SAVE.)
If SUPTEST2.SUB encounters an error, examine and execute SUPTEST3.SUB.
This is equivalent to SUPTEST2.SUB without the GOTO module. (The SUPERMIT
manual tells how to emulate GOTO if your system cannot use the GOTO module.)
No errors should occur when executing SUPTEST3.SUB. If any do, please
contact Logic Associates at the address given below.
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
COPYRIGHT
Each SUPERMIT module is copyrighted by Logic Associates.
Logic Associates hereby permits non-commercial distribution and use
of SUPERMIT, provided all the modules of SUPERMIT are distributed
together and without alteration of any kind. If changes are necessary,
please notify Logic Associates.
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
CORRESPONDENCE
We welcome your comments and suggestions. You can write us at--
Logic Associates
1433 W. Thome
Chicago, IL 60660
Thank you. We're sure you'll find SUPERMIT a unique and useful product.
Sincerely,
Roy Lipscomb,
Logic Associates
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
(end)