PREPRUN [ MPE/iX Commands Reference Manual Volume I ] MPE/iX 5.0 Documentation
MPE/iX Commands Reference Manual Volume I
PREPRUN
Prepares and executes a compiled compatibility mode program.
Syntax
PREPRUN uslfile[,entrypoint] [;NOPRIV][;RL=filename][;PMAP]
[ [ [[{*formaldesig}]]]]
[;NOCB][;DEBUG][;INFO=quotedstring] [;LMAP[;STDIN[[{=fileref }]]]]
[ [ [[{$NULL }]]]]
[;MAXDATA=segsize][;PARM=parameternum]
[ [{*formaldesig }]]
[;STDLIST=[{fileref [,NEW]}]][;STACK=stacksize]
[ [{$NULL }]]
[ {G}]
[;DL=dlsize][;PATCH=patchsize][;LIB={P}]
[ {S}]
[;NOSYM][{;FPMAP }][;CAP=capabilitylist]
[{;NOFPMAP}]
Parameters
uslfile Actual file designator of the USL file to which the
program has been compiled.
entrypoint Contains a character string, terminated by a blank,
specifying the entry point (label) in the program
where execution is to begin when the program is
executed. The entrypoint parameter may be the
primary entry point or any secondary entry point in
the program's outer block. Default is primary
entry point.
NOPRIV Declaration that the program segments are to be
placed in nonprivileged (user) mode. This
parameter is for programs prepared with privileged
mode (PM) capability and makes them accessible to
nonprivileged users. Normally, program segments
containing privileged instructions are executed in
privileged mode only if the program was prepared
with privileged mode capability class. (A program
containing legally compiled privileged code, placed
in nonprivileged mode, may abort when an attempt is
made to execute it.) If NOPRIV is specified, all
segments are placed in nonprivileged mode.
(Library segments are not affected because their
mode is determined independently.) Default is that
segments of a privileged mode program remain in
privileged mode.
PMAP Request to produce a descriptive listing of the
prepared program to a file whose formal file
designator is $SEGLIST. If $SEGLIST is not found in
a FILE command, the listing is produced on the
current list device. Default is no listing.
DEBUG Request to issue a DEBUG call before the first
executable instruction of the program. Unless the
user has READ and EXECUTE access to the program
file, this parameter is ignored. If privileged
mode (PM) capability has been assigned, the user is
put into privileged mode debug. If not, the user
is put into user mode debug. Default is that the
DEBUG call is not issued.
LMAP Request to produce a descriptive listing of the
allocated (loaded) program to a file whose formal
file designator is LOADLIST. If no FILE command
referencing LOADLIST is found, the listing is
produced on $STDLIST. Default is no listing.
ZERODB Request to initialize to zero the initially defined
user-managed (DL-DB) area and uninitialized
portions of the DB-Q (initial) area. Default is
that these areas are not affected.
segsize Maximum permitted stack area (Z-DL) in words. This
parameter should be included when you expect that
the size of DL-DB or Z-DB areas will be changed
during program preparation or execution.
Regardless of what you specify, MPE/iX may change
the segsize to accommodate table overflow
conditions.
If you prepare your program with a segsize less
than the configured minimum, the value is rounded
up to the minimum or the amount needed by the
program (as calculated by the MPE segmenter). The
maximum actual segsize permitted a program is
31,232 words. You may prepare your program with a
segsize larger than necessary so long as this
maximum is not exceeded. If the specified segsize
does exceed the maximum, it will be rounded down to
31,232 words.
parameternum An integer containing a parameter to be passed to
the new program (accessed through Q-4 of the outer
block).
stacksize Size of local data area, Z-Q (initial), in the
stack, in words. If it is specified, this value
must be between 511 and 32,767 words. The default
is estimated by the MPE segmenter.
dlsize DL-DB area to be initially assigned to stack. Due
to system logging considerations, the DL-DB area is
always rounded upward, so that the distance from
the beginning of the stack data segment to the
DB-address is a multiple of 128 words. The value
you specify must be between -1 and 32,767 words.
The default is estimated by the MPE segmenter.
G, P, or S Searches the segmented procedure libraries of the
program file's group and account. The G option
searches the group library, the account library,
and then the system library. The P option searches
the account library then the system library. The S
option searches the system library for external
references to segmented procedures. Default is S.
capabilitylist Capability class attributes associated with the
program, specified in two-character mnemonics. If
more than one mnemonic is specified, each must be
separated from its neighbor by a comma. The
mnemonics are:
IA = Interactive Access
BA = Local Batch Access
PH = Process Handling
DS = Extra Data Segments
MR = Multiple RINs
PM = Privileged Mode
You can specify only those attributes that you
possess through assignment by the account manager
or the system manager. Default is IA and BA.
filename Actual file designator of the relocatable library
(RL) file to be searched to satisfy external
references during preparation of the program. This
can be any permanent file of type RL, to which you
must have READ and LOCK access. It need not belong
to the logon group, nor does it require a reserved,
local name. This file yields a single segment that
is incorporated into the segments of the program
file. Refer to the MPE Segmenter Reference Manual
(30000-90011) for a description of RL files.
Default is that no library is searched.
NOCB Request that the file system not use stack segment
(PCBX) for its control blocks, even if sufficient
space is available. This permits you to expand
your stack (with the DLSIZE or ZSIZE intrinsics) to
the maximum possible limit at a later time. It
does, however, cause the file management system to
operate more slowly for this program.
quotedstring A sequence of characters between two single
quotation marks (apostrophes) or two double
quotation marks. You may use the delimiting
character as part of the string so long as the
delimiter appears twice. Any occurrence of two
single quotation marks, or two double quotation
marks in a row, is considered part of the string,
and, therefore, not the terminating delimiter.
The INFO=quotedstring parameter is used in some
programming languages (for example, COBOLII,
Pascal) to pass compiler options to a program.
These options appear before the first line of
source code in the text file.
$STDIN This parameter allows the user to specify the file
to be used as $STDIN by the program being executed.
If omitted, or if nothing is specified after the
equal sign, such as $STDIN=, then $STDIN defaults
to the job or session's standard input device. You
may use one of the following subparameters with
$STDIN=:
*formaldesig The formal file designator
for a file previously
specified in a file equation.
fileref The name of an existing
permanent disk file.
$NULL The actual file designator of
a system-defined file that is
always treated as an empty
file.
* When referenced by a
program as $STDIN,
that program receives
only an end-of-file
indication when
accessed.
* When referenced by a
program as $STDLIST,
the associated write
request is accepted by
MPE/iX, but no
physical output is
actually performed.
Thus, $NULL can be
used to discard
unneeded output from
an executing program.
STDLIST This parameter allows the user to specify the file
to be used as $STDLIST by the program being
executed. If $STDLIST is omitted, or if nothing is
specified after the equal sign, such as $STDLIST=,
then $STDLIST defaults to the job or session's
standard list device. This parameter has the same
subparameters as $STDIN, but you may also specify
the keyword NEW.
NEW The name to be assigned to a
job/session temporary disk
file created with the system
defaults. The system
defaults of the new file are
fixed length ASCII 132-byte
records with a maximum file
size of 1023 records.
patchsize Specifies the size of the patch area. This size
applies to all segments within the program file.
The value specified must be within -1 and 16,380
words.
NOSYM Suppresses the symbolic DEBUG option. Refer to the
HPToolset/V Reference Manual (32350-90001) for more
information.
FPMAP or NOFPMAP Includes or excludes the internal PMAP information.
FPMAP is a request to have internal PMAP
information included in the program. NOFPMAP
excludes PMAP information from the program when the
system FPMAP or job/session FPMAP is on. If the
symbolic DEBUG option is invoked, default is FPMAP.
Otherwise, the default is NOFPMAP.
Operation Notes
The PREPRUN command prepares and executes a program compiled in a USL
file. Both relocatable (RL) and segmented (SL) libraries are searched
during the preparation process to satisfy external references.
The USL file created during compilation is a system-defined temporary
file, $OLDPASS, which is passed directly to the MPE segmenter. It can be
accessed only if you do not use the default for progfile. This is
because the segmenter also uses the file $OLDPASS to store the prepared
program segments, overwriting any existing temporary file of the same
name.
Use
This command may be issued from a session, job, or program. It may not
be used in BREAK. Pressing Break suspends the execution of this command.
Entering RESUME continues the execution.
Examples
To prepare and execute a program from the USL file XUSL, with no special
parameters declared, enter:
PREPRUN XUSL
To obtain a descriptive listing of the prepared program, and a listing of
the allocated (loaded) program, enter:
PREPRUN XUSL;PMAP;LMAP
To prepare and execute a program from the USL file UBASE that begins
execution at the entry point RESTART, that has a stacksize of 800 words,
and searches an RL file named LIBA, enter:
PREPRUN UBASE,RESTART;STACK=800;RL=LIBA
The following example prepares and runs a program with $STDIN set to the
existing disk file INPUT. $STDLIST is set to the line printer:
FILE LPFILE;DEV=LP
PREPRUN TESTPROG;MAXDATA=10000;$STDIN=INPUT;&
$STDLIST=*LPFILE
The next example also uses the $STDIN= and $STDLIST= parameters to
prepare and run a program. This time, a file equation is used to set
$STDIN to INPT, and to set $STDLIST to the temporary disk file RESULTS
(which is automatically created by the RUN command).
FILE INFILE=INPT,OLD;
PREPRUN TESTPROG;DEBUG;$STDIN=*INFILE;$STDLIST=RESULTS,NEW
The following example of the PREPRUN command uses the INFO= parameter to
pass a string to the program:
PREPRUN MYPROG;MAXDATA=2000;INFO="A TEST WITH "" AND "" &
CHARACTERS"
Note that the delimiting character is doubled within the string so that
it appears on the printout as follows:
A TEST WITH "AND" CHARACTERS
Related Information
Commands PREP, RUN, XEQ
Manuals MPE Segmenter Reference Manual (32650-60026)
MPE/iX 5.0 Documentation