Previous topic |
Next topic |
Contents |
Contact z/OS |
Library |
PDF
ALIGNT: Align text z/OS MVS Program Management: Advanced Facilities SA23-1392-00 |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ALIGNT allows you to specify the alignment (in the loaded module) for a section or part. If this is a section with multiple text classes, unless specific classes are named, all elements in the section (with the exception of those elements in merge classes) will be aligned as indicated. For merge classes, the specified alignment will be for all the parts in that merge class. The alignment specification will not be preserved if the module is rebound. The syntax of the ALIGNT call is:
Processing notesAn ALIGNT request is valid only when the processing intent is BIND. If the section, or a class name (if specified), does not exist, a message will be issued. The page_aligned attribute is set, as required, for the target workmod and, when the module is saved, in the output directory. Alignment requests remain in effect only for the current bind. The alignment specification in the ESD record is not changed. Prior to VERSION=8, the alignment boundary value is not specified and is always as if page was specified. The meaning of page is 4096, unless the ALIGN2 option is used, in which case it is 2048. However, beginning with VERSION=8, the ALIGN2 option will have no effect. If a 2K boundary is required, it must be explicitly requested. If the alignment value is 0, this causes the alignments to be reset to the original ESD values, which would be used if no ALIGNT statement had been specified. If no class names are specified, then the specified boundary alignment will be used to align all classes of the specified section, with the exception of any merge classes. Any alignment information previously specified for class names will be discarded. Alignment values for merge classes will apply to all the parts in the merge class, in addition to the class itself. Only parts in merge classes can be aligned; pseudo-registers cannot be aligned this way because they do not retain an owning section name which is needed to identify the part. If class names are specified, then those classes will be aligned. A merge class name may be listed. If the same section name is specified on more than one ALIGNTs which specifies class names, those class names will be added to the list of classes to be aligned. If ALIGNT, which specifies a section name with no class names, is followed by one or more ALIGNTs that do specifiy class names, any unspecified classes in the section (excluding any merge classes) will be aligned according to the first ALIGNT that had no class names. Though the class list names are variable length (with a halfword length preceding them), the format is a fixed-length array, so each array element must be exactly 18 bytes (except possibly the last). Return and reason codesThe common binder API reason codes are shown in Table 1.
Parameter listIf your program does not use the IEWBIND macro, place the address of the ALIGNT parameter list in general purpose register 1.
Note: X'80000000' must be added to either the SECTION
parameter (for Version 1 through 7) or the CLASSL parameter (for Version
8 or higher).
|
Copyright IBM Corporation 1990, 2014
|