HLASM Language Reference

HLASM Language Reference HLASM Language Reference

faculty.cs.niu.edu
from faculty.cs.niu.edu More from this publisher
22.02.2015 Views

DXD Instruction ASEMBLY2 CSECT USING ,15 USING INAREA,3 CLI INCODE,C'A' BE ATYPE MVC OUTPUTA,DATA_B MVC OUTPUTB,DATA_A B FINISH ATYPE DS H MVC OUTPUTA,DATA_A MVC OUTPUTB,DATA_B FINISH BR 14 DATA_A DC CL8'ADATA' DATA_B DC CL8'BDATA' INAREA DSECT INCODE DS CL1 OUTPUTA DS CL8 OUTPUTB DS CL8 END Figure 54. Sample Code Using the DSECT Instruction (Assembly-2) DXD Instruction The DXD instruction identifies and defines an external dummy section. ►►──symbol──DXD──┬────────────────────┬──type──┬────────────────┬───► └─duplication_factor─┘ └─type_extension─┘ ►──┬──────────┬──┬───────────────────┬─────────────────────────────►◄ └─modifier─┘ │ ┌ ───────────────┐ │ └── ▼ ─nominal_value─┴─┘ symbol is an external symbol which is one of the following: An ordinary symbol A variable symbol that has been assigned a character string with a value that is valid for an ordinary symbol duplication_factor is the duplication factor subfield equivalent to the duplication factor subfield of the DS instruction. type is the type subfield equivalent to the type subfield of the DS instruction. type_extension is the type extension subfield equivalent to the type extension subfield of the DS instruction. modifiers is the modifiers subfield equivalent to the modifiers subfield of the DS instruction. 180 HLASM V1R5 Language Reference

EJECT Instruction nominal_value is the nominal-value subfield equivalent to the nominal-value subfield of the DS instruction. The nominal value is optional. If specified, it is not generated. The DXD instruction can be used anywhere in a source module, after the ICTL instruction. In order to reference the storage defined by the external dummy section, the ordinary symbol denoted by symbol must appear in the operand of a Q-type constant. This symbol represents the address of the first byte of the external dummy section defined, and has a length attribute value of 1. The subfields in the operand field (duplication factor, type, type extension, modifier, and nominal value) are specified in the same way as in a DS instruction. The assembler computes the amount of storage and the alignment required for an external dummy section from the area specified in the operand field. For more information about how to specify the subfields, see “DS Instruction” on page 174. For example: A DXD CL2 2 bytes, byte alignment B DXD 3F,XL4 2 bytes, fullword alignment C DXD LQ 16 bytes, quadword alignment The linker uses the information provided by the assembler to compute the total length of storage required for all external dummy sections specified in a program. Notes: 1. The DSECT instruction also defines an external dummy section, but only if the symbol in the name field appears in a Q-type offset constant in the same source module. Otherwise, a DSECT instruction defines a dummy section. 2. If two or more external dummy sections for different source modules have the same name, the linker uses the most restrictive alignment, and the largest section to compute the total length. EJECT Instruction The EJECT instruction stops the printing of the assembler listing on the current page, and continues the printing on the next page. ►►──┬─────────────────┬──EJECT─────────────────────────────────────►◄ └─sequence_symbol─┘ sequence_symbol is a sequence symbol. The EJECT instruction causes the next line of the assembler listing to be printed at the top of a new page. If the line before the EJECT statement appears at the bottom of a page, the EJECT statement has no effect. An EJECT instruction immediately following another EJECT instruction is ignored. A TITLE instruction immediately following an EJECT instruction causes the title to Chapter 5. Assembler Instruction Statements 181

EJECT Instruction<br />

nominal_value<br />

is the nominal-value subfield equivalent to the nominal-value subfield of the DS<br />

instruction. The nominal value is optional. If specified, it is not generated.<br />

The DXD instruction can be used anywhere in a source module, after the ICTL<br />

instruction.<br />

In order to reference the storage defined by the external dummy section, the<br />

ordinary symbol denoted by symbol must appear in the operand of a Q-type<br />

constant. This symbol represents the address of the first byte of the external<br />

dummy section defined, and has a length attribute value of 1.<br />

The subfields in the operand field (duplication factor, type, type extension, modifier,<br />

and nominal value) are specified in the same way as in a DS instruction. The<br />

assembler computes the amount of storage and the alignment required for an<br />

external dummy section from the area specified in the operand field. For more<br />

information about how to specify the subfields, see “DS Instruction” on page 174.<br />

For example:<br />

A DXD CL2 2 bytes, byte alignment<br />

B DXD 3F,XL4 2 bytes, fullword alignment<br />

C DXD LQ 16 bytes, quadword alignment<br />

The linker uses the information provided by the assembler to compute the total<br />

length of storage required for all external dummy sections specified in a program.<br />

Notes:<br />

1. The DSECT instruction also defines an external dummy section, but only if the<br />

symbol in the name field appears in a Q-type offset constant in the same<br />

source module. Otherwise, a DSECT instruction defines a dummy section.<br />

2. If two or more external dummy sections for different source modules have the<br />

same name, the linker uses the most restrictive alignment, and the largest<br />

section to compute the total length.<br />

EJECT Instruction<br />

The EJECT instruction stops the printing of the assembler listing on the current<br />

page, and continues the printing on the next page.<br />

►►──┬─────────────────┬──EJECT─────────────────────────────────────►◄<br />

└─sequence_symbol─┘<br />

sequence_symbol<br />

is a sequence symbol.<br />

The EJECT instruction causes the next line of the assembler listing to be printed at<br />

the top of a new page. If the line before the EJECT statement appears at the<br />

bottom of a page, the EJECT statement has no effect.<br />

An EJECT instruction immediately following another EJECT instruction is ignored.<br />

A TITLE instruction immediately following an EJECT instruction causes the title to<br />

Chapter 5. Assembler Instruction Statements 181

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!