;
Command File Processing
-- Basics --
0 - Overview
1 - Restrictions
2 - Extended Cmd Procs
-- Disk-Based Command Files -- -- Memory-Based Command Files --
S - The SUB Utility Z - The ZEX Utility
E - SUB Error Messages D - ZEX Directives
G - GOTO Command
:0
Overview of Command Files
�� Comman� Fil� i� � fil� containin� commands�� wit� �
optiona� paramete� substitution�� whic� ca� b� execute� b� �
ZCPR3�� Thes� command� ar� exactl�� th� sam� kind� o� �
command� a� yo� woul� issu� a� th� console�� an� an� comman� �
whic� ca� b� issue� fro� th� consol� ca� als� b� issue� fro� �
withi� � Comman� Fil� (wit� jus� � coupl� o� restrictions).
Th堠 Comman� Fil� Facilitie� o� SU an� ZEؠ ar� �
availabl� unde� ZCPR3�� Simila� i� concep� t� th� SUBMI� �
facilit� o� CP/M�� bot� SU� an� ZE� ar� upward-compatabl� t� �
SUBMIԠ� (an��� SU fil� ca� ru� unde� the� wit蠠 fe� �
restrictions).
Bot� SU� an� ZE� begi� processin� b�� translatin� th� �
comman� file� the� ar� give� int� slightl� differen� forms� �
Bot� d� paramete� substitution�� extractin� parameter� fro� �
th� comman� line� an� placin� the� int� th� tex� o� th� �
comman� strea� the� ar� building�� SU� build� th� comman� �
strea� t� b� execute� o� dis� driv� � unde� th� curren� use� �
number� an� ZE� build� th� comman� strea� i� memory.
ZEؠ i� generall� preferre� t� SUB�� Unde� ZEX�� th� �
comman� strea� i� execute� muc� mor� quickl� tha� unde� SU� �
sinc� ZE� accesse� memor� fo� th� nex� characte� whil� ZCPR� �
ha� t� g� t� disk� ZEX� however� take� u� memor� space� an� �
tha� i� it� mai� drawback� Th� TP� (Transien� Progra� Area� �
unde� ZE� i� smalle� tha� wha� i� availabl� t� comman� file� �
runnin� unde� SUB�� Thi� i� th� basi� trade-of� betwee� th� �
tw� Comman� Fil� Processors.
Anothe� differenc� betwee� SU� an� ZEؠ i� tha� SU� �
comman� stream� ar� line-oriente� an� extracte� onl�� b� �
ZCPR3�� Tha� is�� SU� build� � comman� fil� name� $$$.SU� �
lik� SUBMI� does� an� ZCPR� extract� � lin� fro� th� $$$.SU� �
fil� eac� tim� i� i� entered�� Whe� ZCPR� i� entere� b� �
eithe� � Col� Boot�� War� Boot�� o� simpl� RETur� fro� � �
loade� program�� i� check� th� Multipl� Comman� Lin� Buffe� �
fo� � pendin� command�� I� ZCPR� find� � pendin� command� �
th� comman� i� executed�� I� not� ZCPR� check� th� A� driv� �
(curren� user�� fo� � $$$.SU� file�� I� � $$$.SU� fil� i� �
found�� ZCPR� extract� th� nex� lin� fro� th� $$$.SU file� �
processe� it�� an� begin� executio� o� i� fro� th� Multipl� �
Comman� Lin� Buffer�� Finally�� i� th� $$$.SU� fil� i� no� �
found� ZCPR� prompt� th� use� fo� input.
Tha� i� ho�� comman� strea� processin� unde� SU i� �
performed�� ZEX�� however� act� a� � combinatio� o� SU� an� �
XSUB�� Onc� comman� strea� processin� begin� unde� ZEX� th� �
ZE� monitor� locate� unde� ZCPR� wit� th� associate� comman� �
stream�� supplie� � characte� eac� tim� th� BIOӠ Consol� �
Inpu� Routin� i� called�� ZE� extract� th� nex� characte� �
fro� th� comman� stream�� examine� i� t� se� i� i� i� � ZE� �
comman� an� execute� i� i� so� an� return� i� t� th� callin� �
progra� i� i� i� no� � ZE� command.
I� � sense�� ZCPR� itsel� doe� no� realiz� tha� ZEؠ i� �
running� Neithe� d� th� transien� program� i� general� ZE� �
simpl�� intercept� al� call� t� th� BIO� Consol� Inpu� (an� �
Inpu� Status� routin� an� provide� a� inpu� characte� i� it� �
place�� Ther� ar� exception� t� thi� case� bu� the� wil� b� �
discusse� later.
Bot� SU� an� ZE� fi� int� th� ZCPR� Syste� nicely�� an� �
the�� ca� b� use� t� ac� a� Extende� Comman� Processor� i� �
desired� Thi� i� discusse� later.
:G
Command: GOTO 1.0
Syntax:
GOTO label
;=label any_text
Function:
GOT� i� � ZCPR� utility� designe� t� b� ru� fro� withi� �
� ZE� comman� file�� whic� permit� branching�� I� accept� �
onl� on� argument�� � label� whic� i� define� withi� th� ZE� �
fil� a� � specia� commen� o� th� form:
;=label
An�� tex� whic� follow� th� "label� phras� i� considere� t� �
be comment and is not processed.
Options:
None
Comments:
GOT� wil� ONL� wor� correctl� i� execute� withi� � ZE� �
command file. GOTO will issue an error message otherwise.
Withou� th� ZCPR� Flo� Contro� facility�� GOT� woul� b� �
o� littl� value� Wit� IF� however� GOT� i� extremel� usefu� �
in setting up loops and other flow-control constructs.
Selected Error Messages:
"ZEؠ No� Running� mean� tha� GOT� wa� execute� fro� �
outside a ZEX command file.
"Labe� xx�� No� Foun� -- Abortin� ZEX� mean� tha� th� �
reference� labe� wa� no� foun� withi� th� comman� file�� s� �
ZEX execution is terminated.
Examples of Use:
ZEX Command File 1:
REG S1 0;note Register 1 = 0
;=start
XIF;note Exit all pending IFs
ECHO Hello, World
IF ~1 3;note IF Register 1 <> 3
GOTO START
FI
ZEX Command File 2:
M80 =$1;note Assemble File
; Strike ^C if Errors Exist - ^?
if ~nul $3;note IF there are 2 libs ...
L80 $1/N,$1,$2/S,$3/S,SYSLIB/S,/U/E;note link all
goto done
fi
if ~nul $2;note IF there is a 2nd arg ...
L8� $1/N,$1,$2/S,SYSLIB/S,/U/E;not� lin� li� $2
else;note IF there is no 2nd arg ...
L80 $1/N,$1,SYSLIB/S,/U/E;note link
;=done
fi
ZEX Command File 3:
if NEC=$2
echo Terminal is NEC
goto done
fi
if TTY=$2
echo Terminal is TTY
goto done
fi
if DIABLO=$2
echo Terminal is Diablo
else
echo Terminal is Undefined
fi
;=done
xif;note Exit all pending IFs
ws $1;note Edit file
:S
Command: SUB 3.0
Syntax:
SUB or SUB // <-- Print Help Message
SUB /A Text <-- Abort $$$.SUB File
Processing at User's
Discretion
SUB /AB Text <-- Same as /A but Ring Bell
to Alert User
SUB /I <-- Enter Interactive Input
Mode
SUB filename params <-- As in Standard SUBMIT
Function:
SU� build� � comman� fil� o� dis� (name� $$$.SUB� whic� �
ZCPR�� look� fo� eac� tim� i� i� read� fo� � comman� line� �
I� ZCPR� find� suc� � file�� i� extract� th� nex� comman� �
from this file.
SUB can also be used to sound alarms to the user.
Options:
As indicated above:
A - Permit abort
AB - Permit Abort and Ring Bell
I - Interactive Input
Comments:
Th� "SU /A� an� "SU� /AB� form� allo�� th� use� t� �
gracefull�� abor� � $$$.SU� file�� ^� a� th� consol� ca� b� �
use� t� abor� suc� processin� a� unde� CP/M� bu� th� /� for� �
allow� th� luxur� o� startin� � comman� strea� an� stoppin� �
a� � critica� poin� t� allo� th� use� t� tak� hi� time� �
inspec� wha� ha� happened�� an� the� decid� whethe� t� �
procee� o� not.
Th� "SU� /I� for� eliminate� th� nee� fo� th� use� t� �
us� a� edito� t� creat� � .SU� file�� I� th� use� ha� � �
comman� strea� h� want� t� execut� immediatel� an� doesn'� �
car� t� d� i� again�� h� ca� us� thi� option�� I� response� �
SU allow� hi� t� ente� hi� comman� strea� (sorry�� n� �
paramete� passing� � lin� a� � time� Whe� i� i� al� entere� �
(use� enter� a� empt� line)�� th� $$$.SU� fil� i� buil� an� �
executed.
Th� fina� form�� "SU� filenam� params"� i� identica� i� �
for� t� th� SUBMIԠ comman� supplie� wit� CP/M��� Th� �
"filename�� specifie� th� nam� o� th� .SU fil� t� b� �
executed��� an� th� parameter� ar� associate� wit� th� �
substitutio� variable� o� $1�� $2� etc� U� t� 2� parameter� �
ma� b� specified�� Th� sequenc� "$$� place� � "$� int� th� �
comman� line�� an� th� characte� sequenc� "^c� place� th� �
indicate� contro� characte� int� th� comman� lin� (uparro� � �
place� Control-C).
Th� SU� comman� ma� b� neste� int� � $$$.SU� file�� I� �
� "SU� filenam� params� comman� i� encountere� i� � $$$.SU� �
file� SU� runs� realize� tha� thi� ha� happened� an� insert� �
th� indicate� comman� file�� wit� paramete� substitution� �
int� th� runnin� comman� strea� a� th� appropriat� place� �
Thi� ma� b� neste� a� man� level� dee� a� desired.
Unde� ZCPR3�� i� SU i� execute� wit� th� Multipl� �
Comman� Lin� Facilit� invoke� an� mor� command� follo�� th� �
SU� command�� the� th� res� o� th� Multipl� Comman� Lin� i� �
inserte� a� th� en� o� th� generate� $$$.SU� file.
Finally�� SU� follow� th� ZCPR� pat� whe� searchin� fo� �
th� indicate� comman� file� I� i� full� integrate� int� th� �
ZCPR�� Syste� an� i� abl� t� emplo� th� Externa� Pat� an� �
Multipl� Comman� Lin� Buffe� feature� o� ZCPR3.
Selected Error Messages:
"Param� erro� mean� tha� � paramete� wa� reference� an� �
non� wa� give� o� th� comman� line.
"Lin� To� Long� mean� tha� th� inpu� line�� afte� bein� �
expande� wit� th� inpu� parameters�� wa� mor� tha� 12� �
characters long.
�� mor� complet� lis� o� erro� message� i� give� unde� �
the indicated section of the main menu.
Examples of Use:
SUB cmdfile p1 p2 p3
-- th堠� fil堠 'cmdfile.SUB���� i processed� �
substituting 'p1' for $1, 'p2' for $2, and 'p3' for $3
SUB /AB
-- durin� th� executio� o� � comman� file�� thi� �
comman� cause� th� bel� t� rin� a� th� consol� an� th� use� �
is given a chance to abort execution
:E
SU� provide� � numbe� o� informativ� diagnostic� t� th� �
user�� I� particular�� whe� processin� � Comman� File� whe� �
a� erro� i� encountered�� th� use� i� informe� o� th� lin� �
numbe� th� erro� occur� at.
Th� followin� summarize� th� erro� message� presente� �
b� SUB:
Disk Full
There is no room to write the $$$.SUB file
Directory Full
There is no directory space for the $$$.SUB file
Memory Full
There is not enough memory in which to build the
command stream to be placed into the $$$.SUB file
SUB Error Messages, Con't
SUBMIT File Not Found
The .SUB file specified in the command line could
not be found along the ZCPR3 path
Parameter
Invalid Parameter Specified
Too Many Parameters
More than 20 parameters were on the command line
Line too Long
The current line in the command stream exceeds
128 bytes
SUBMIT File Empty
The .SUB file specified in the command line was
found to be empty
SUB Error Messages, Con't
Control Character
The ^c form was not followed by a letter A-Z
:Z
Command: ZEX 3.0
Syntax:
ZEX // <-- Print Help
ZEX <-- Enter Interactive Mode
ZEX filename params <-- Process .ZEX or .SUB
file as with SUBMIT
Function:
ZEؠ i� � memory-base� comman� fil� processor�� I� �
perform� function� lik� SU� an� XSU� combined� an� it� inpu� �
sourc� i� locate� i� memory�� s� tha� it� executio� spee� i� �
significantly greater.
Options:
A� indicate� above� ther� ar� n� option� t� ZEX.
Comments:
Th堠 Interactiv堠 Mod� o� ZEؠ execute� lik堠 th� �
Interactiv� Mod� o� SUB�� Th� use� enter� comman� line� �
unti� h� i� satisfie� an� the� terminate� th� proces� b� �
enterin� a� empt� lin� (simpl� hittin� RETURN)�� ZEؠ the� �
execute� th� command� i� th� sequenc� entered� N� paramete� �
passin� i� permitte� i� thi� mod� o� operation.
Th堠 "ZEؠ� filenam堠 params�� for� i� lik堠 th� �
correspondin� SU� form�� ZE� wil� searc� alon� th� ZCPR� �
Externa� Pat� fo� � comman� fil� o� th� for� filename.ZE� o� �
filename.SUB� I� � director� i� entere� whic� contain� bot� �
suc� files� th� fil� o� typ� ZE� wil� b� executed.
Onc� ZE� ha� begu� execution�� i� place� � ZE� Monito� �
jus� unde� ZCPR� an� build� th� comman� strea� unde� th� �
monitor� Onc� complete� th� addres� o� th� BDO� i� adjuste� �
s� tha� th� ZE� monito� an� it� comman� strea� wil� no� b� �
overwritte� b� transien� programs�� an� executio� begins� �
Eac� tim� th� BIO� Consol� Inpu� routin� i� called�� ZE� �
supplie� th� inpu� character.
A� wit� SUB� � ^� fro� th� consol� wil� abor� executio� �
o� � ZE� comman� stream�� Also�� a� wit� SUB�� i� � comman� �
follow� ZEؠ i� � Multipl� Comman� Line�� ZE� append� thi� �
comman� t� th� comman� stream.
Unlik� SUB�� ZEؠ doe� no� permi� nestin� o� comman� �
files��� ZEؠ wil� simpl�� abor� i� � ZEؠ comman䠠 i� �
encountere� i� th� comman� strea� i� i� processing.
Unlik� SUB�� ZE� support� man� mor� embedde� commands� �
Combinin� th� facilitie� o� SU� an� XSU� i� thi� case�� th� �
embedde� command� o� ZE� reflec� th� XSUB-lik� capabilitie� �
o� ZE� a� wel� a� som� ne� ideas.
Thes堠 extende� contro� command� ar� discusse� i� �
anothe� informatio� section.
Selected Error Messages:
None discussed
Examples of Use:
ZEX
-- the user now enters a group of commands
ZEX mycmds p1 p2
-- processin� o� th� fil� 'mycmds.ZEX'� or� i� no� �
found� 'mycmds.SUB� i� performed� 'p1� i� substitute� fo� $� �
and 'p2' for $2
:D
ZEX Directives - Control Commands
The following summarizes the ZEX Control Commands:
Cmd Meaning Cmd Meaning
| insert <CR> ^| insert <CRLF>
^� reru� comman� strea� ^� toggl� prin� suppress
^# toggle ZEX messages ^$ define default params
^? wait for user input ^/ ring bell and ^?
^* ring bell ^" accept user input
^< display chars only ^> stop display
;; ZEX comment $n 1<=n<=9 for param
$$ $ $^ ^
$| | ^c control char
Thi� summar�� i� als� displaye� vi� th� built-i� ZE� �
help.
Th� followin� command� simpl� inser� character� int� �
th� ZEؠ comman� strea� an� wil� no� b� discusse� i� an� �
greate� detail.
| inserts a <CR> ^| inserts a <CR> <LF> pair
$$ inserts a single $ $^ inserts a single ^
$| inserts a single | ^c inserts a control character
Th� ^� comman� simpl� cause� ZE� t� rin� th� bell�� I� �
doe� no� inser� � BEL� characte� int� th� comman� fil� lik� �
� ^� sequenc� would� I� simpl� ring� th� bel� an� continue� �
processing.
Th� ;� comman� i� � ZE� comment� I� an� al� character� �
followin� i� u� t� an� includin� th� followin� <LF� ar� no� �
include� i� th� ZE� comman� stream� The� ar� simpl� treate� �
a� � commen� i� th� ZE� Comman� Fil� an� ignored�� Unlik� � �
conventiona� ZCPR� comment� th� ZE� commen� doe� no� tak� u� �
spac� i� th� comman� strea� an� doe� no� appea� whe� th� �
comman� strea� i� executed.
Th� ^� an� ^� command� ar� use� t� bracke� character� �
whic� ar� simpl� echoe� b� th� ZE� monito� an� no� passe� �
bac� t� th� callin� program�� Thi� cause� th� character� �
betwee� thes� command� t� b� echoe� t� th� use� durin� �
executio� bu� no� processe� b� an� program� Thi� featur� i� �
ver� goo� fo� embeddin� comment� t� b� printe� a� executio� �
tim� int� th� comman� stream�� Unlik� th� ZCPR�� commen� �
form�� whic� i� � lin� beginnin� wit� � semicolon�
� comment� �
enclose� b� ^� an� ^� ma� appea� anywhere� suc� a� withi� a� �
edito� session.
Th� ^�� comman� toggle� suppressio� o� informativ� �
message� generate� b� ZEX.
Th� ^� comman� cause� consol� outpu� t� ceas� unti� th� �
nex� ^�� i� encountered�� Characte� inpu� fro� th� ZE� �
Monito� continues� bu� th� use� doe� no� se� wha� i� is.
Th� ^�� comman� cause� th� ZEؠ monito� t� restar� �
executio� o� th� loade� comman� stream�� Th� entir� comman� �
stream�� a� initiall� processe� b� ZEX�� i� execute� agai� �
fro� th� beginning.
$n�� wher� 1<=n<=9�� wil� caus� th� indicate� specifie� �
o� defaul� paramete� t� b� substitute� fro� th� comman� �
line.
Th� ^� comman� i� use� t� defin� o� redefin� th� se� o� �
inpu� comman� parameters�� Th� res� o� th� lin� followin� �
th� ^�� i� treate� a� � se� o� parameter� separate� b� �
blanks.
Th� ^�� an� ^� command� replac� th� /� an� /A option� �
o� SUB�� ^�� cause� ZE� t� sto� processin� an� wai� fo� th� �
use� t� strik� eithe� th� spac� ba� o� th� RETUR� ke� befor� �
continuing�� Th� use� ca� tak� hi� tim� an� examin� th� �
display�� and�� i� h� doe� no� wis� t� continue�� � ^� wil� �
abor� th� comman� stream� Th� ^� comman� i� lik� ^?� bu� i� �
periodicall�� ring� th� bel� a� th� console�� summonin� th� �
use� i� a� alar� fashion.
Finally�� th� ^� comman� cause� ZE� t� sto� providin� �
inpu� fro� th� comman� strea� an� allo� th� use� t� inpu� �
whateve� h� wishe� unti� � specia� characte� i� output�� a� �
whic� tim� ZE� wil� resum� providin� input�� I� thi� case� �
ZE� ca� b� intimatel� linke� wit� ZCPR3�� an� i� i� intende� �
tha� th� specia� characte� tha� ZE� i� waitin� fo� i� �
associate� wit� th� ZCPR� prompt�� I� m� case�� � mad� th� �
ZCPR� promp� t� b� � ">� characte� wit� th� mos� significan� �
bi� set�� Thi� i� uniqu� an� appear� onl� whe� th� promp� �
come� u� o� m� system.
Th堠 followin砠 example� illustrat堠� application� �
employin� them�� Comment� appea� ou� t� th� side�� prefixe� �
b� <--.
B1>zex
ZEX, Version 1.3
1: ^$ this is fun <-- Define 3 params
2: echo $1 $2 $3
3: ^$ hello from happy acres <-- Define 4 params
4: echo $1 $2 $3 $4
5:
(ZEX Active) <-- ZEX is running now
B1>echo this is fun
THIS IS FUN
B1>echo hello from happy acres
HELLO FROM HAPPY ACRES
B1>
(ZEX Completed)
By Your Command >
B1>ed demo.zex <-- Demo Command File
NEW FILE
: *i
1: ed demo.txt <-- Edit DEMO.TXT
2: i <-- Insert text while in ED
3: This is a test
4: This is only a test
5: This is a demo of ZEX Control
6: ^Z <-- ^Z is 2 chars, xlated into
7: b0lt <-- Ctrl-Z by ZEX
8: 1l
9: 0lt
10: i <-- Input More Text
11: ^" <-- Allow user to input text
12: type demo.txt <-- When ZEX continues, this
13: era demo.txt <-- is what it does next
14:
: *e
B1>zex demo <-- Run the command file
ZEX, Version 1.3
(ZEX Active)
B1>ed demo.txt
NEW FILE
: *i <-- ZEX is typing this in
1: This is a test
2: This is only a test
3: This is a demo of ZEX Control
4:
: *b0lt
1: This is a test
1: *1l
2: *0lt
2: This is only a test
2: *i <-- Now user input begins
2� � a� no� typin� thi� lin� o� m� ow� volitio� <-- User
3: ZEX will allow me to continue doing this until
4: it sees the ZCPR3 prompt
5: <-- User types Ctrl-Z
5: *e <-- User types "e"
(ZEX Active)
B1>type demo.txt <-- ZEX resumes
This is a test
I am now typing this line of my own volition
ZEX will allow me to continue doing this until
it sees the ZCPR3 prompt
This is only a test
This is a demo of ZEX Control
B1>era demo.txt
DEMO .TXT
B1>
(ZEX Completed)
By Your Command >
B1>ed demo.mac <-- Now to use ZEX for
<-- program assembly
NEW FILE
: *i <-- User types program
1: ext print
2:
3: call print
4: db 'Hello, World ... It''s Another Day',0
5: ret
6:
7: end
8:
: *e
B1>type a:m80.zex <-- M80.ZEX command file
; M80.SUB -- MACRO-80 Assembler and Linker
M80 =$1
; Please Type $^C if Error(s) Exist - ^?
ERA $1.BAK
ERA $1.COM
L80 /P:100,$1,A:SYSLIB/S,$1/N,/U,/E
ERA $1.REL
; Assembly Complete
B1>zex m80 demo <-- Run command file on pgm
ZEX, Version 1.3
(ZEX Active)
B1>; M80.SUB -- MACRO-80 Assembler and Linker
B1>M80 =DEMO
No Fatal errr(s)
(ZEX Active)
B1>; Please Type ^C if Error(s) Exist - <-- User can abort now
<-- if he wishes
B1>ERA DEMO.BAK
DEMO .BAK
B1>ERA DEMO.COM
No File
B1>L80 /P:100,DEMO,A:SYSLIB/S,DEMO/N,/U,/E
Link-80 3.44 09-Dec-81 Copyright (c) 1981 Microsoft
Data 0100 01C5 < 197>
35936 Bytes Free
Data 0100 01C5 < 197>
35936 Bytes Free
[0000 01C5 1]
(ZEX Active)
B1>ERA DEMO.REL
DEMO .REL
B1>; Assembly Complete
B1>
(ZEX Completed)
By Your Command>demo <-- Run pgm now
Hello, World ... It's Another Day
B1>
:1
Th� followin� restriction� ar� applie� t� comman� file� �
processe� b� SU� an� ZEX.
SUB Restrictions
1�� Yo� ma� no� lo� int� use� area� othe� tha� th� on� �
yo� bega� processin� th� comman� fil� in�� I� yo� do� ZCPR� �
loose� trac� o� th� $$$.SU� fil� an� executio� i� aborte� �
unti� yo�� reente� th� origina� use� area�� a� whic� tim� �
executio� resumes.
2�� U� t� 2�� parameter� ar� permitte� o� th� SU� �
comman� line.
3� Yo� ma� nes� SU� comman� file� t� an� depth.
ZEX Restrictions
1�� Yo� ma� mov� int� an� director� yo� desir� whil� � �
ZE� comman� strea� i� bein� executed.
2� U� t� � parameter� ar� permitte� o� th� ZE� comman� �
line.
3� Yo� ma� NO� nes� ZE� comman� files.
:2
Bot� SU� an� ZE� mak� nic� Extende� Comman� Processor� �
unde� ZCPR3�� Bot� us� th� Externa� Pat� an� Multipl� �
Comman� Lin� Buffe� Facilitie� o� ZCPR3�� an� ZE� i� furthe� �
prompte� fo� inpu� b� th� ZCPR� promp� i� desired.
T� refres� th� reader�� an� Extende� Comman� Processo� �
i� � progra� invoke� b� ZCPR� whe� i� fail� t� fin� th� �
comman� alon� it� path� ZCPR3� upo� failin� t� fin� th� CO� �
fil� whic� correspond� t� th� comman� nam� give� t� it�� ca� �
b� se� u� t� eithe� searc� th� pat� o� g� directl�� t� th� �
roo� o� th� pat� an� loo� fo� a� Extende� Comman� Processor� �
I� found� ZCPR� simulate� � comman� t� tha� Extende� Comman� �
Processor�� substitutin� th� user'� comman� lin� a� th� �
argument� t� it.
To illustrate, consider the following example:
MASM.ZE� perform� th� sam� se� o� command� tha� M80.ZE� �
fil� di� above� namely:
; MASM.ZEX -- MACRO-80 Assembler and Linker
M80 =$1
; Please Type $^C if Error(s) Exist - ^?
ERA $1.BAK
ERA $1.COM
L80 /P:100,$1,A:SYSLIB/S,$1/N,/U,/E
ERA $1.REL
; Assembly Complete
Th� comman� "MAS� DEMO� i� issued�� Wit� ZE� a� th� �
Extende� Comman� Processor�� ZCPR� look� alon� th� pat� fo� �
th� comman� MASM�� fail� t� fin� it�� an� the� simulate� th� �
comman� "ZEؠ MAS� DEMO"�� Th� abov� comman� fil� i� the� �
execute� wit� DEM� a� it� passe� parameter.
ZEX�� o� an�� othe� program�� ca� b� installe� a� a� �
Extende� Comman� Processo� b� renamin� i� t� CMDRUN.COM.