Browse Prior Art Database

Automatic Subprogram Linkage Control Routine

IP.com Disclosure Number: IPCOM000085826D
Original Publication Date: 1976-Jun-01
Included in the Prior Art Database: 2005-Mar-03
Document File: 3 page(s) / 15K

Publishing Venue

IBM

Related People

Warren, CB: AUTHOR

Abstract

The purpose of this routine is to provide a simple and orderly means for linking one subprogram with any other subprogram automatically, when using an interactive terminal language. The routine can best be utilized when there is not enough storage capacity in the work storage area for the complete program. For definition purposes, a subprogram is a portion of the program; and, conversely, the sum of the subprograms is the program.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 3

Automatic Subprogram Linkage Control Routine

The purpose of this routine is to provide a simple and orderly means for linking one subprogram with any other subprogram automatically, when using an interactive terminal language. The routine can best be utilized when there is not enough storage capacity in the work storage area for the complete program. For definition purposes, a subprogram is a portion of the program; and, conversely, the sum of the subprograms is the program.

A small control subprogram referred to here as Linkage Control contains three parts: parts 1, 2, and 3. Linkage Control is always resident in the storage work area after it is called in by the user. Whenever a subprogram is added to the program, five steps must be added to Linkage Control. Whenever it is necessary to execute an instruction that is contained in a subprogram that is not resident in the work area, it is only necessary to write two instructions: set t = step number to part 2

Linkage Control then deletes the instructions of the resident sub program and retrieves (from disk) the subprogram which contains the step number denoted by
t. Linkage Control then causes this designated instruction to be executed. No data is deleted so that all subprograms have access to all generated data.

The following control statements are in a form to facilitate adding new statements when subprograms are added: I: First four statements are

Initial Control Statements.

P: Next six statements are

Primary Control Statements.

1.0 Get P1

I 1.0001 Set u=N 1.0002 To step N

1.0003 Delete part u

1.XXX0 Do part 3

1.XXX1 Get Pn

1.XXX2 To step t

P

2.XXX to step 1.XXX if XXX let lt YYY+1

3.XXX Do step 1.0003 for u=XXX(1)YYY if XXX let lt YYY+1

3.9991 set u=t

Notes:
1. Linkage Control is defined as the control subprogram.
2. P1 is defined as the primary subprogram.
3. Step N is contained within P1.
4. P1 must have a group of five primary control statements.
5. Pn represents a program name.
6. XXX is the first part number contained in subprogram Pn and can be any three digit number that satisfies 004</-XXX</-999.
7. YYY is the last part number contained in subprogram Pn and has the same permissible range as XXX in note 6.
8. YYY + 1 means that 1 must be added to this part number.
9. If a part number that is assigned to a subprogram is not going

1

Page 2 of 3

to be used, the three digits of the part number must be part of the subprogram or the delete instruction of Linkage Control will not operate.

The actual quantity of subprograms will depend upon the quantity of subprograms, the size of the largest subprogram, and the amount of data generated. Two approaches can be used in writing programs: 1) The program can be completely written and then divided into separate subprograms; or 2) A building-block approach can be taken, where one or more subprograms are written as a group and debugged before continuing on to another subprogram or group of subprograms.

The following is a description of...