HPlogo MPE/iX Commands Reference Manual: HP 3000 MPE/iX Computer Systems > Chapter 6 Command Definitions P-R

PREPRUN

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

Prepares and executes a compiled compatibility mode program.

Syntax

PREPRUN uslfile[,entrypoint]
[;NOPRIV] [;PMAP] [;NOCB] [;DEBUG] [;INFO=quotedstring]
[;LMAP[;STDIN [{*formaldesig =fileref $NULL}]]]
[;MAXDATA=segsize] [;PARM=parameternum] [;STDLIST=[ { *formaldesig fileref[ ,NEW] $NULL }]]
[;STACK=stacksize][ ;DL=dlsize] [;PATCH=patchsize]
[ ;LIB={ G | P | S}]
[;NOSYM] [{;FPMAP | ;NOFPMAP}] [;CAP=capabilitylist]

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 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

Feedback to webmaster