• Aucun résultat trouvé

Types of Control Statements

Dans le document CONTROL DATA (Page 63-71)

The standard list of control statements for the library editing program includes the following:

• *M-replace program in system library

• *L-add/replace program in program library

• *P-produce absolute record

• *U-return to comment device for next control statement

• *V -get next control statement

• *Z-terminate processing

• *DL-list program library directory

• *DM-list system library directory

• *N-modify program library files

• *T -transfer information

• *K-change 110 devices

• *R-remove program

• *F-end-of-transfer indicator

• *FOK-transfer indicator

REPLACE PROGRAM IN SYSTEM LmRARY An *M (replace program in system library) statement replaces a program in the system library which executes in allocatable core with another program.

Format

The statement format is:

*M,or,s,d,M,N

7-1

Parameters

The parameters utilized for this statement are as follows:

7-2

or-This is the ordinal number iIi the system library directory and is a required parameter. If the ordinal number does not appear in the system library directory, or if the parameter is not specified, the statement is illegal.

s -This is a mass storage address. This parameter is illegal if M is blank.

After the relocatable binary programs are loaded and linked, a check is made on the thread of the directory entry which is being replaced. If the thread of the directory entry is busy, LIB EDT waits for' it to be freed, indicating this directory entry is not currently being operated. The thread is then set to a busy state to prevent scheduling of the file while LIB EDT is manipulating the directory and writing the new file onto mass storage (beginning at address s). If s is not specified in the input statement, a search of ' mass storage is made to find the first block of sectors which is large enough to contain this file. In most instances, this block is at the end of the library.

When the new program is shorter than the one it is supposed to replace, it is stored on the sectors of the file which it is replacing. At the completion of the update, the thread is cleared.

d-This is the data base indicator. This parameter is specified to allow linkage of allocatable core programs to data which has been previously linked to the program at initialization.

NOTE

When using this parameter, the following restriction exists: data cannot be preset into the 'established labeled common block by the loader, but program refer-ences will be absolutized properly.

M-M is the mass storage indicator. When M appears in the statement, the program which is to be replaced is mass-storage resident, and the ordinal represents its position in the system lib-rary directory relative to other mass-storage resident programs. When the length of the replacement program is less than or equal to the length of the program being replaced (rounded-up to the nearest sector), the new one overlays the old one on mass storage.

If M is omitted in the statement, the program to be replaced is core-resident, and the ordinal represents its position in the system library directory relative to other core-resident pro-grams. The length of the new program, if core-resident, must be equal to or less than that of the program which is being replaced. Since the directory entry for a core-resident ordinal does not contain length, no error indication can be given if it is longer than the program being replaced.

CAUTION

On-line use of LIBEDT for replacement of system library programs exposes the opera-tion to the following potential faults: 1) The interrupt system is disabled during core-resident program replacement, which for large programs, could inhibit system response for excessive periods of time. The program length of a core-resident program which is being replaced cannot be checked by LIB EDT. 2) A larger program is loaded without indication of error, potentially destroying part of the system.

N-This indicates that linking to the program library is not required. When a new program is added to the system library, the library editing program issues a loader request to load one or more relocatable binary programs from the standard input device until a loader EOL state-ment (*T), a nonloader statestate-ment, or a device failure is detected. If at this time any unpatched' externals exists, automatic linkage is performed to the core resident entry point (CREP) tables.

Any unpatched externals that remain after this linkage are listed, and the user has the option of continuing by typing an *. Termination of the load is performed by manual interrupt followed by *Z. If the field is blank, automatic linkage to the program library is performed after the CREP linkage. Any remaining unpatched externals are listed, and the user may continue or terminate as previously described.

If loading is terminated with an EOL statement, the library editing program looks to the comment device (*U statement) or standard input device (*V statement) for the next control statement. If loading was terminated by a nonloader statement, the nonloader statement is processed as a control statement to the library editing program

ADD OR REPLACE PROGRAM IN PROGRAM LmRARY

An *L (add/replace program in program library) statement adds a new program to the library or replaces a program in the library.

Format

The statement format is as follows:

*L,epn Parameter

The parameter used in the *L statement is:

epn-Ifthe entry-point name does not appear in the program library directory, this statement adds a new program to the library. When an addition is made to the library, the library editing program reads format records of binary input from the standard input device and writes them onto mass storage.

Entry-point names for programs added to the library are recorded in the directory along with the beginning mass storage addresses. . If the entry-point name does appear in the directory, the program which contains this entry point is replaced. The new entry-point name is placed in the directory. When a pro-gram is replaced in the library, its entry-point name is removed from the directory.

If a mass storage unit is to be used as a system input device, the input operation begins at the first scratch sector. This feature allows the user to assemble and obtain load-and-go output. By assigning the load-and-go unit as the system input device with a monitor control statement (*K,I unit number), the load-and-go unit becomes the input device for processing an *L, entry-point name control statement.

PRODUCE ABSOLUTE RECORD

An *p (produce absolute record) statement directs the library editing program to produce an absolute record from one or more relocatable binary programs. The relocatable binary programs are loaded in core by the loader under control of the library editing program.

Format

The statement format is as follows:

*P,n,P/R,sa Parameters

The parameters for the request to produce an absolute record are as follows:

n-The parameter n indicates the record format n =f. F or omitted

A single format record is written on the standard binary output device

n=F

Output is in format records of 96 words each.

If binary output is assigned to a mass storage device, this unit must be the library unit, since subsequent operations expect the absolute file to start on the scratch area fol-lowing the library (that is, the sector defined by the contents of $CO and $C1).

P/R-This parameter indicates the order of linkage.

The use of the P /R option makes it possible build subprogram parts for foreground-allocatable or partition-core programs. Such programs can then be stored on the disk as files by using the *N LIB EDT processor and can be overlaid in foreground user buffer areas by using the user programs. The imple-mentation of this technique negates the need of applying system directory entries for such files.

P parameter

If the P parameter field is blank, the order of linkage is the preset table, the program library, and/or the unprotected, unlabeled common area. If at this time, unpatched externals exist, the *p processor links to the CREP tables. If any unpatched externals still exist following this linkage, they are listed, and the user can enter an * to continue or an

*T to terminate.

If the parameter field is set to P, linkage is performed in the following order: protected unlabeled common, CREP tables, and the

7-3

7-4

program library. If unpatched externals exist following the linkage, a list is printed, and the user can enter an * or an *T.

R parameter

If the parameter field is set to R, linkage is performed in the following order: protected unlabeled common, CREP 1 table, CREP table, and the program library. If unpatched externals exist following the linkage, a list is printed, and the user can enter an * or an *T.

If the parameter field is set to a numeric value between 1 and 16, the relocatable binary pro-grams are absolutized at the beginning of the partition which was specified by the field. In all other cases of the P IR parameter, absolutizing begins at ($F7) plus one.

sa-This indicates the starting address and can be one of the following: point of the relocatable binary program read in by the loader. The entry point name DA TBAS is used to reference the data block set aside during a loader operation.

entry point name

+

hhhh

hhhh is added to or subtracted from the core address to find the starting address.

If the starting address is omitted in an *p statement, the starting address is the beginning of the load at the address specified by ($F7) plus one. The binary output terminates with the last word of the load.

If the starting address is specified, the binary output extends from the starting address to the last word of the load. The starting address, therefore, must not be specified beyond the last word address of the relocatable binary load. If the *p statement is unacceptable to LIB EDT because it exceeds the last word address of the relocatable binary load, the error message Ell appears on the print device. The operator must type in an acceptable starting address without repeating an *P,n. A carriage return without a starting address has the same effect as a

starting address equal to the contents of location $F7 plus one. The error message is issued by the loader which is processing the starting address portion of an *p statem.ent.

RETURN TO COMMENT DEVICE FOR NEXT CONTROL STATEMENT

An *U (return to comment device· for next control statement) statement directs the library editing program to go to the comment device for subsequent control statements.

Format

The format is as follows:

*U

GET NEXT CONTROL STATEMENT

An *V (get next control statement) statement directs LIB EDT (system) input unit is assumed m-mode of control statement

A-formatted ASCII mode B-formatted binary mode

If mode is not specified, the control statements are read in formatted ASCII mode.

If the control statement *LIBEDT is read under an *V option in the job processor, LIBEDT continues processing with the same *V option.

TERMINATE PROCESSING

An *Z (terminate processing) statement terminates the library editing program processing and returns control to

the job prOCessor. .

Format

The format is as follows:

*Z

UST SYSTEM LIBRARY DIRECTORY

An *DM (list system library directory) statement directs the library editing program to list the system library directory on the print output device. The statement includes an *y or an *YM ordianl at the beginning of each line.

Format

The format is as follows:

*DM

UST PROGRAM LmRARY DIRECTORY

An *DL (list program library directory) statement directs the library editing program to list the program library directory on the standard print output device.

Format

The format is as follows:

*DL

MODIFY PROGRAM LmRARY

FILES

An *N (modify program library files) statement is used to add, replace, or edit a permanent binary file in the program library.

Format

When a file is added or replaced, only name and mode have to be specified in the following format:

*N,n,wl,w2,m

Parameters

Parameters for the *N statement are:

N-name of file; name is a I-to-6-character identification by which the file is addressed n-name of file; name is a l-to-6-character

identi-fication by which the file is addressed

WI-first word of file to be changed; WI and w2, where WI

<

w2, are used if only part of a file is to be changed

wrlast word of file to be changed (refer to WI); if w2 is omitted, only the word specified by WI . is changed

m-the mode of input:

A-ASCII format records B-binary format records Input to *N Processor

Input to an *N processor consists of format records of 96 words or less. Input is terminated with any valid LIB EDT or an *Z statement.

The load-and-go unit can be used as an input device for processing an *N statement in the. same way as for an *L statement.

SET CORE REQUEST PRIORITY

An *S (set core request priority) statement sets the core request priority of an entry in the system directory. This determines the area in core where the file runs.

Format

The format is as follows:

*S,or,v,M Parameters

or-ordinal number which refers to an entry in the system directory

7-5

N-Ievel at which the request priority is to be set:

o

~ v .~ 15'

M-s~ecifies mass-storage residen~ or core-resident M-ordinal number is mass-storage resident

=F M-ordinal number is core-resident

TRANSFER INFORMATION

An *T (transfer information) statement permits the tran'sfer of information between any two peripheral devices such as a card-to-tape or a tape-to-printer devicet.

An *T statement can be used in conjunction with an *F pseudo LIB EDT statement to perform information transfer in a batch job. On recognizing an *F during a transfer operation, LIBEDT outputs the IN message and proceeds to read the next control card.

Format

The format for an *T statement is as follows:

*T ,i,mi,o,mo,n,f Parameters

The statement format parameters are identified in the following manner:

i-input logical unit; if omitted, LIBEDT's standard input binary unit is selected

tLIBEDT for Phase-Encoded Tapes

mi-mode of input A-ASCII B-binary

o-output logical unit; if omitted, LIBEDT's standard output unit is selected

mo-mode of output A-ASCII B-binary

n-sets an upper limit on the number of records to be transferred; if n is omitted, records are transferred until the input device is empty or fails or encounters an *F control statement.' The upper limit on the number of records to be transferred is decimal.' At the end of transfer, the number of records and files encountered is printed in decimal format on the standard print device.

f-sets an upper limit on the number of files to be transferred; iffis omitted, files are transferred until the input device is empty, fails, or encounters an *F control statement. The upper limit of the number of files to be transferred is decimal. At the end of transfer, the number of records and files encountered is printed in decimal format on the standard print device.

CHANGE INPUT/OUTPUT DEVICES

An *K (change input/output devices) statement, which may occur in any order in respect to other statements, allows the operator to change LIB EDT devices. These

LIBEDT does not provide density selection, In order to use LIBEDT to copy tapes, density for each phase-encoded tape unit must be preset by using the following IOUP commands

• TSD,u,8 (select 800 bpi)

• TSD,u,16 (select 1,600 bpi)

With the appropriate densities selected, LIBEDT wiII copy:

7-6

800 to 800 bpi tapes

800 to 1,600 bpi tapes

• 1,600 to 1,600 bpi tapes

• 1.600 to 800 bpi tapes

CAUTION

The hardware returns to 1,600 bpi (and lights the HI DEN light) whenever a master clear or clear controller Is Issued. But with word 16 of each units' physical device table set to the required density, proper density returns to each unit as soon as a connect is made to It.

changes are internal to LIBEDT and do not affect the system device assignments.

Format

The format for an *K statement is as follows:

*K,Ilu,Plu,Llu Parameters

The *K statement uses the following parameters:

lu-Iogical unit number; if a unit number designates a protected device, an error exit is taken

I-LIBEDT's input unit

P-LIBEDT's binary output unit L-LIBEDT's print unit

Example of *K Statement

The parameters of an *K statement may be in any order, but must be separated by commas. In the following example, this statement sets LIBEDT's input unit to logical unit 2, its print unit to logical unit 5, and its binary output unit to logical unit 3.

*K,I2,LS,P3

An *K statement is terminated by a carriage return.

REMOVE PROGRAM

An *R (remove program) control statement removes a program with entry point n from the program library.

Format

The format is as follows:

*R,n,F Parameters

The parameters are defined as follows:

n---entry point of program or name of file to be removed; if F is included, the file name n is removed

F-specifies that n is a file name

END·OF·TRANSFER INDICATOR

The *F (end-of-transfer indicator) statement is a pseudo instruction to the *T processor of LIB EDT. When an *F followed by two spaces is encountered, the current *T operation is terminated and the next LIB EDT control statement is read from the standard input device.

TRANSFER INDICATOR

The *FOK (transfer indicator) statement, like an *F statement, is a pseudo instruction to the *T processor of LIBEDT. On encountering this statement during input, . an *F is transferred to the output device.

Table 7-1 shows sample transfer request statements.

Table 7·1. Sample Transfer Request Statements

Type Statement Description

*JOB Call job processor

Call -

-*LlBEDT Call LlBEDT

*T,6,A,9,A,,2 Transfer two files of information from logical unit 6 to logical unit 9

*L,PROG Put relocatable program on library Typical uses *N,PROG1",B Put absolutized file on library

*M,10",M Put allocatable core program on system library

*A12,2,1"", Put partition core program on system library

7-7

SECTION 8

Dans le document CONTROL DATA (Page 63-71)

Documents relatifs