Are you aware of Assembler common control sections (COM) and how they can be used in z/VSE ?
Ingolf24 120000DRN3 Visits (1153)
Today I have a topic for Assembler developers. This is my hundredth blog entry since I started blogging in February.
On Tuesday a z/VSE user asked me, if z/VSE supports the High Level Assembler (HLASM) COM instruction.
I wasn't aware of that support, although I wrote thousands of lines of system code since I joined the VSE team more than 30 years ago.
The COM instruction identifies the beginning or continuation of a common control section.
A common control section is a reference control section that lets you reserve a storage area that can be used by one or more source modules. One or more common sections can be defined in a source module. That is common control sections can be used to share common storage between modules linked as one program (phase) by the z/VSE Linkage Editor.
How is COM supported in z/VSE ?
This common storage is reserved in the partition in front of the phase loaded by the EXEC <program> Job Control statement, that is at the beginning of the partition, just after the partition save area.
If the COM instruction has a label, the common control section is referred to as named, otherwise it is blank or unnamed. In addition to blank common control sections, named common control sections are supported as well. A control section which has the same name as a common control section must have at least the same length. The z/VSE Linkage Editor accepts ESD (External Symbol Dictionary) records as produced by the High Level Assembler for common control sections.
Common control sections are not supported for phases that a loaded from a program (e.g. via the LOAD or CDLOAD services).
More information is in the High
Enjoy your weekend.