HLASM Language Reference
HLASM Language Reference HLASM Language Reference
| in linker control statements for section ordering and replacement, and for | linkage between source modules Unnamed common control sections or dummy control sections can be defined if the name entry is omitted from a COM or DSECT instruction. If you include an AMODE or RMODE instruction in the assembly and leave the name field blank, you must provide an unnamed control section. Reference Control Sections A reference control section is one you initiate by using the DSECT, COM, or DXD instruction, as follows: You can use the DSECT instruction to initiate or continue a dummy control section. For more information about dummy sections, see “Dummy Control Sections.” You can use the COM instruction to initiate or continue a common control section. For more information about common sections, see “Common Control Sections” on page 57. You can use the DXD instructions to define an external dummy section. For more information about external dummy sections, see “External Dummy Sections” on page 57. At assembly time, reference control sections are not assembled into object code. You can use a reference control section either to reserve storage areas or to describe data to which you can refer from executable control sections. These reference control sections are considered empty at assembly time, and the actual binary data to which they refer is not available until execution time. Dummy Control Sections A dummy control section is a reference control section that describes the layout of data in a storage area without actually reserving any virtual storage. You may want to describe the format of an area whose storage location is not determined until the program is run. You can do so by describing the format of the area in a dummy section, and using symbols defined in the dummy section in the operands of machine instructions. The DSECT instruction initiates a dummy control section or indicates its continuation. For more information about the DSECT instruction, see “DSECT Instruction” on page 178. How to use a dummy control section: A dummy control section (dummy section) lets you write a sequence of assembler language statements to describe the layout of data located elsewhere in your source module. The assembler produces no object code for statements in a dummy control section, and it reserves no storage in the object module for it. Rather, the dummy section provides a symbolic format that is empty of data. However, the assembler assigns location values to the symbols you define in a dummy section, relative to its beginning. Therefore, to use a dummy section, you must: Reserve a storage area for the data 56 HLASM V1R5 Language Reference
Ensure that the locations of the symbols in the dummy section actually correspond to the locations of the data being described Establish the addressability of the dummy section in combination with the storage area You can then refer to the data symbolically by using the symbols defined in the dummy section. Common Control Sections 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. The COM instruction initiates a common control section, or indicates its continuation. For more information about the COM instruction, see “COM Instruction” on page 121. How to use a common control section: A common control section (common section) lets you describe a common storage area in one or more source modules. When the separately assembled object modules are linked as one program, the required storage space is reserved for the common control section. Thus, two or more modules may share the common area. Only the storage area is provided; the assembler does not assemble the source statements that make up a common control section into object code. You must provide the data for the common area at execution time. The assembler assigns locations to the symbols you define in a common section relative to the beginning of that common section. This lets you refer symbolically to the data that is placed in the common section at execution time. If you want to refer to data in a common control section, you must establish the addressability of the common control section in each source module that contains references to it. If you code identical common sections in two or more source modules, you can communicate data symbolically between these modules through this common section. | Communicating with Modules in Other Languages: Some high-level languages | such as COBOL, PL/I, C, and FORTRAN use common control sections. This lets | you communicate between assembler language modules and modules written in | those languages. External Dummy Sections An external dummy section is a reference control section that lets you describe storage areas for one or more source modules, to be used as: Work areas for each source module Communication areas between two or more source modules | Note: External dummy sections are also called “pseudo-registers” in other contexts. When the assembled object modules are linked and loaded, you can dynamically allocate the storage required for all your external dummy sections at one time from one source module (for example, by using the MVS GETMAIN macro instruction). Chapter 3. Program Structures and Addressing 57
- Page 26 and 27: Assembler Program Assembler Program
- Page 28 and 29: Relationship of Assembler to Operat
- Page 30 and 31: Coding Made Easier Linkage between
- Page 32 and 33: Character Set Compatibility with Ea
- Page 34 and 35: Assembler Language Coding Conventio
- Page 36 and 37: Assembler Language Coding Conventio
- Page 38 and 39: Assembler Language Coding Conventio
- Page 40 and 41: Assembler Language Coding Conventio
- Page 42 and 43: Assembler Language Structure Condit
- Page 44 and 45: Assembler Language Structure Machin
- Page 46 and 47: Assembler Language Structure Condit
- Page 48 and 49: Terms, Literals, and Expressions Te
- Page 50 and 51: Terms, Literals, and Expressions -
- Page 52 and 53: Terms, Literals, and Expressions As
- Page 54 and 55: Terms, Literals, and Expressions Se
- Page 56 and 57: Terms, Literals, and Expressions Fo
- Page 58 and 59: Terms, Literals, and Expressions I
- Page 60 and 61: Terms, Literals, and Expressions Th
- Page 62 and 63: Terms, Literals, and Expressions 1.
- Page 64 and 65: Terms, Literals, and Expressions
- Page 66 and 67: Terms, Literals, and Expressions
- Page 68 and 69: Terms, Literals, and Expressions Th
- Page 70 and 71: | Chapter 3. Program Structures and
- Page 72 and 73: Source Module A source module is co
- Page 74 and 75: The CSECT instruction can be used a
- Page 78 and 79: This is not only convenient, but it
- Page 80 and 81: | SECT_A CSECT , Define section SEC
- Page 82 and 83: | For executable sections, the loca
- Page 84 and 85: Addressing | The System/390® and z
- Page 86 and 87: Addressing | Parts must always be r
- Page 88 and 89: Addressing Literal Pools ALPHA LR 3
- Page 90 and 91: Addressing If the symbol is the nam
- Page 92 and 93: Addressing External Symbol Dictiona
- Page 94 and 95: Addressing 74 HLASM V1R5 Language R
- Page 96 and 97: Part 2. Machine and Assembler Instr
- Page 98 and 99: General Instructions Chapter 4. Mac
- Page 100 and 101: Input/Output Operations For further
- Page 102 and 103: Branching with Extended Mnemonic Co
- Page 104 and 105: Symbolic Operation Codes variations
- Page 106 and 107: Operand Entries Registers You can s
- Page 108 and 109: Operand Entries “Program Structur
- Page 110 and 111: Operand Entries Format │ Coded or
- Page 112 and 113: Examples of Coded Machine Instructi
- Page 114 and 115: Examples of Coded Machine Instructi
- Page 116 and 117: Examples of Coded Machine Instructi
- Page 118 and 119: Examples of Coded Machine Instructi
- Page 120 and 121: Chapter 5. Assembler Instruction St
- Page 122 and 123: *PROCESS Statement *PROCESS Stateme
- Page 124 and 125: ACONTROL Instruction ►►──
| in linker control statements for section ordering and replacement, and for<br />
| linkage between source modules<br />
Unnamed common control sections or dummy control sections can be defined if the<br />
name entry is omitted from a COM or DSECT instruction.<br />
If you include an AMODE or RMODE instruction in the assembly and leave the<br />
name field blank, you must provide an unnamed control section.<br />
<strong>Reference</strong> Control Sections<br />
A reference control section is one you initiate by using the DSECT, COM, or DXD<br />
instruction, as follows:<br />
You can use the DSECT instruction to initiate or continue a dummy control<br />
section. For more information about dummy sections, see “Dummy Control<br />
Sections.”<br />
You can use the COM instruction to initiate or continue a common control<br />
section. For more information about common sections, see “Common Control<br />
Sections” on page 57.<br />
You can use the DXD instructions to define an external dummy section. For<br />
more information about external dummy sections, see “External Dummy<br />
Sections” on page 57.<br />
At assembly time, reference control sections are not assembled into object code.<br />
You can use a reference control section either to reserve storage areas or to<br />
describe data to which you can refer from executable control sections. These<br />
reference control sections are considered empty at assembly time, and the actual<br />
binary data to which they refer is not available until execution time.<br />
Dummy Control Sections<br />
A dummy control section is a reference control section that describes the layout of<br />
data in a storage area without actually reserving any virtual storage.<br />
You may want to describe the format of an area whose storage location is not<br />
determined until the program is run. You can do so by describing the format of the<br />
area in a dummy section, and using symbols defined in the dummy section in the<br />
operands of machine instructions.<br />
The DSECT instruction initiates a dummy control section or indicates its<br />
continuation. For more information about the DSECT instruction, see “DSECT<br />
Instruction” on page 178.<br />
How to use a dummy control section: A dummy control section (dummy<br />
section) lets you write a sequence of assembler language statements to describe<br />
the layout of data located elsewhere in your source module. The assembler<br />
produces no object code for statements in a dummy control section, and it reserves<br />
no storage in the object module for it. Rather, the dummy section provides a<br />
symbolic format that is empty of data. However, the assembler assigns location<br />
values to the symbols you define in a dummy section, relative to its beginning.<br />
Therefore, to use a dummy section, you must:<br />
Reserve a storage area for the data<br />
56 <strong>HLASM</strong> V1R5 <strong>Language</strong> <strong>Reference</strong>