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

XATTR Instruction external_symbol is a relocatable symbol that is not: Used as the name entry of a source statement in the source module in which it is defined The external symbols identified by a WXTRN instruction have the same properties as the external symbols identified by the EXTRN instruction. However, the type code assigned to these external symbols differs. V-Type Address Constant: If a symbol, specified in a V-type address constant, is also identified by a WXTRN instruction, it is assigned the same ESD type code as the symbol in the WXTRN instruction, and is treated by the linkage editor as a weak external symbol. If an external symbol is identified by both an EXTRN and WXTRN instruction in the same source module, the first declaration takes precedence, and subsequent declarations are flagged with diagnostic messages. XATTR Instruction (MVS and CMS) The XATTR instruction enables attributes to be assigned to an external symbol. This instruction is only valid when you specify the GOFF assembler option. ┌─,─────────┐ ►►──symbol──XATTR─── ▼ ─attribute─┴───────────────────────────────────►◄ symbol is a symbol which has been declared implicitly or explicitly as an external symbol. Further, if the PSECT attribute is specified, must be a RSECT, CSECT or START name or an ENTRY name (where the entry is in one of the preceding types of section) attribute is one or more attributes from the group of attributes described below. The assembler sets the appropriate attribute flags in the GOFF External Symbol Directory record. Notes: 1. If more than one value is specified for a given attribute, no diagnostic is issued and only the last value is used. 2. All attributes of an external symbol must be specified in a single XATTR statement (which may be continued). ATTRIBUTES ►►──ATTRIBUTES(label) ──────────────────────────────────────────────►◄ ATTRIBUTES(label), abbreviation ATTR(label) is a symbol (internal or external) known in the declaring program. It names the location of the extended attribute information to be associated with symbol. 230 HLASM V1R5 Language Reference

XATTR Instruction Instructs the assembler to place the ESDID and offset of the label in the GOFF External Symbol Dictionary record. LINKAGE ►►──LINKAGE( ─┬─OS───── ┬─) ──────────────────────────────────────────►◄ └─XPLINK─┘ LINKAGE(OS), abbreviation LINK(OS) Instructs the assembler to set the “Linkage Type” attribute to standard OS linkage. LINKAGE(XPLINK), abbreviation LINK(XPLINK) Instructs the assembler to set the “Linkage Type” attribute to indicate “Extra Performance Linkage.” PSECT ►►──PSECT(name) ────────────────────────────────────────────────────►◄ PSECT (name) Identifies the private read-write “section” or PSECT associated with name by its being an internal or external symbol belonging to an element in the class to which the PSECT belongs. The name is one of: an ENTRY name, where the entry is in the same section (CSECT or RSECT) as name, but in a different class. For reentrant code, the PSECT is normally a non-shared class, so a separate CATTR statement is needed to declare that class and its attributes. an internal label within the PSECT. REFERENCE ┌─,────────────────┐ ►►──REFERENCE( ── ▼ ┬─┬─DIRECT─── ┬ ── (1) ─┬┴─) ──────────────────────────────►◄ │ └─INDIRECT─┘ │ └ ─┬─DATA─┬ ── (1) ─────┘ └─CODE─┘ Note: 1 Select no more than one option from each group. REFERENCE(DIRECT), abbreviation REF(DIRECT) Instructs the assembler to reset (clear) the “Indirect Reference” attribute. REFERENCE(INDIRECT), abbreviation REF(INDIRECT) Instructs the assembler to assign the “Indirect Reference” attribute. REFERENCE(CODE), abbreviation REF(CODE) Instructs the assembler to set the Executable attribute. REFERENCE(DATA), abbreviation REF(DATA) Instructs the assembler to set the Not Executable attribute. Chapter 5. Assembler Instruction Statements 231

XATTR Instruction<br />

external_symbol<br />

is a relocatable symbol that is not:<br />

Used as the name entry of a source statement in the source module in<br />

which it is defined<br />

The external symbols identified by a WXTRN instruction have the same properties<br />

as the external symbols identified by the EXTRN instruction. However, the type<br />

code assigned to these external symbols differs.<br />

V-Type Address Constant: If a symbol, specified in a V-type address constant, is<br />

also identified by a WXTRN instruction, it is assigned the same ESD type code as<br />

the symbol in the WXTRN instruction, and is treated by the linkage editor as a<br />

weak external symbol.<br />

If an external symbol is identified by both an EXTRN and WXTRN instruction in the<br />

same source module, the first declaration takes precedence, and subsequent<br />

declarations are flagged with diagnostic messages.<br />

XATTR Instruction (MVS and CMS)<br />

The XATTR instruction enables attributes to be assigned to an external symbol.<br />

This instruction is only valid when you specify the GOFF assembler option.<br />

┌─,─────────┐<br />

►►──symbol──XATTR─── ▼ ─attribute─┴───────────────────────────────────►◄<br />

symbol<br />

is a symbol which has been declared implicitly or explicitly as an external<br />

symbol. Further, if the PSECT attribute is specified, must be a RSECT,<br />

CSECT or START name or an ENTRY name (where the entry is in one of the<br />

preceding types of section)<br />

attribute<br />

is one or more attributes from the group of attributes described below. The<br />

assembler sets the appropriate attribute flags in the GOFF External Symbol<br />

Directory record.<br />

Notes:<br />

1. If more than one value is specified for a given attribute, no diagnostic is issued<br />

and only the last value is used.<br />

2. All attributes of an external symbol must be specified in a single XATTR<br />

statement (which may be continued).<br />

ATTRIBUTES<br />

►►──ATTRIBUTES(label) ──────────────────────────────────────────────►◄<br />

ATTRIBUTES(label), abbreviation ATTR(label)<br />

is a symbol (internal or external) known in the declaring program. It names the<br />

location of the extended attribute information to be associated with symbol.<br />

230 <strong>HLASM</strong> V1R5 <strong>Language</strong> <strong>Reference</strong>

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

Saved successfully!

Ooh no, something went wrong!