;



                 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.