Control block formats and DSECTs

The ACB, EXLST, RPL, and NIB can be initialized, modified, and examined either with manipulative macroinstructions (GENCB, MODCB, SHOWCB, TESTCB) or with assembler instructions. Manipulation with assembler instructions requires access to the internal structure of the control block because displacements and bit settings must be incorporated into the assembler instructions. However, bit settings and displacements are subject to change from release to release. To avoid recoding assembler instructions when such changes occur, use a DSECT. A DSECT is an overlay containing labels that correspond to field displacements, bit settings, and byte values.

IBM-supplied DSECTs are provided as part of the system macroinstruction library in SYS1.MACLIB

You will find descriptions in this appendix. See also Using DSECT-creating assembler instructions and macroinstructions.

A field displacement is the displacement of a field from the beginning of the control block, as defined by the DS (or ORG) instructions in the DSECT. A bit setting is an assembler EQU instruction (such as LABEL1 EQU X'80') that identifies a particular bit or bits. The label could be used as the immediate data byte in a TM instruction, for example. A byte value is also an assembler EQU instruction (such as LABEL2 EQU X'23') that identifies a particular value in a byte. The label could be used as the immediate data byte of a CLI instruction, for example.

The format maps in this appendix, Figure 1 through Figure 1, show the format of the control blocks. They provide a means by which a dump of the control block can be interpreted, and they make the DSECT descriptions that accompany the maps more easily understood. The format maps and the DSECT descriptions identify both the external field name (the declarative or manipulative macroinstruction keyword as used throughout this book) and the internal field name (DSECT label) for each control block field. The DSECT descriptions are arranged in alphabetical order according to the external field name. Mutually exclusive settings are indicated by indentations in the “Meaning” column. Related settings all appear under the same external name in the “Field” column.

Some DSECTs contain maps to other DSECTs. The DSECTs containing the maps are shown under the following headings:

If you compare listings of the actual DSECTs with the DSECT descriptions provided here, the actual DSECTs are more extensive. The fields that have been eliminated here are primarily fields that are set and used by VTAM®, not by the application program. The control block fields that you set or examine should be limited to those fields that are included in the DSECT descriptions in this book. (For this reason, you should not attempt to use a DSECT to initialize a control block completely; use GENCB or the appropriate ACB, EXLST, RPL, or NIB macroinstruction instead.)