Browse Prior Art Database

Enhanced Independence of Programs to Changes in Control Block Definitions

IP.com Disclosure Number: IPCOM000078637D
Original Publication Date: 1973-Feb-01
Included in the Prior Art Database: 2005-Feb-26
Document File: 4 page(s) / 47K

Publishing Venue

IBM

Related People

Slater, JJ: AUTHOR

Abstract

Programs which perform a process on fields within a control block must be modified to have instructions added or deleted, when the number of fields to be processed increases or decreases.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 48% of the total text.

Page 1 of 4

Enhanced Independence of Programs to Changes in Control Block Definitions

Programs which perform a process on fields within a control block must be modified to have instructions added or deleted, when the number of fields to be processed increases or decreases.

Described is an extension to the control block mapping macro facility, which provides a technique of encoding information associated with each of the control block fields to be processed, such that programs can utilize that information at execution time to perform an operation on the required fields, independently of changes to the number of fields to be processed. The technique also maintains independence of the program to the offsets and lengths of the fields, and allows for each field to have associated data which may be used by the program when it processes the field.

A control block's mapping macro must be extended to generate a table, in addition to the current standard information it generates, e. g. definition of symbolic names, lengths, and values for the fields within the control block. The table consists of entry for each field to be processed by the program.

Any information required by a program to process a control block field is encoded in the corresponding entry. Since a general structure is imposed on each entry, the program performs its processing by obtaining access to the table. The program becomes independent of the number of entries (control block fields) to be processed. The impact of a change in fields is confined to the macro which maps the associated control block.

Each entry contains the length of the entry, a flags field, the byte offset within the control block of the field to be processed, the length in bytes, of the field to be processed, and a bit mask field. The bit mask field is used only in conjunction with the processing of a field which is less than one byte in length, e.g. the information is represented in the control block by a single-bit setting. In this case, the offset field applies to the byte within the control block which contains the bit setting. The bit to be processed is defined by the mask. In addition, each entry may contain additional data which may be used subsequently by the program, when it processes the corresponding field.

Fig. 1 illustrates the general structure of the table generated by the mapping macro.

To illustrate the usage and advantage of the control block mapping macro extension, the following example is used: A control block consists of fields:
1) A-4 bytes
2) B-4 bytes
3) C-2 bytes
4) D-2 bytes
5) E-1 byte, within which each bit is used as a unique

indicator. The bits are symbolically defined by the

names EB0 through EB7.

1

Page 2 of 4

6) F-1 byte
7) C-1 byte
8) H-1 byte.

The control block is initially constructed in response to the first request for a serially reuseable program. Fields A, C, EB1, EB3, and G reflect parameters which may be optionally supplied by the requestor of the program. If a parameter i...