XATTR instruction (z/OS 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.
 .-,---------.
V |
>>-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:
- If more than one value is specified for a given attribute,
no diagnostic is issued and only the last value is used.
- 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.
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 |
 .-,---------------------.
V (1) |
>>-REFERENCE(---+-+-DIRECT---+------+-+-)----------------------><
| '-INDIRECT-' |
| (1) |
'-+-DATA-+----------'
'-CODE-'
|
Notes:
- 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.
| SCOPE |
 >>-SCOPE(-+-SECTION-+-)----------------------------------------><
+-MODULE--+
+-LIBRARY-+
+-IMPORT--+
'-EXPORT--'
|
- SCOPE(SECTION), abbreviation SCOPE(S)
- Instructs the assembler to set the
binding scope to "Section".
- SCOPE(MODULE), abbreviation SCOPE(M)
- Instructs the assembler to set the
binding scope to "Module".
- SCOPE(LIBRARY), abbreviation SCOPE(L)
- Instructs the assembler to set the
binding scope to "Library".
- SCOPE(IMPORT), abbreviation SCOPE(X)
- Instructs the assembler to set the
binding scope to "Export-Import"
(see note following this list).
- SCOPE(EXPORT), abbreviation SCOPE(X)
- Instructs the assembler to set the
binding scope to "Export-Import".
This statement indicates only that the name field symbol has the
specified scope. A symbol having SCOPE(X) will have IMPORT status
only if declared in an EXTRN statement, and will have EXPORT
status only if declared explicitly in an ENTRY statement, or
declared implicitly as an entry on a CSECT or RSECT statement.
The SCOPE(IMPORT) or SCOPE(EXPORT) attribute is required for
using Dynamic Link Libraries under the
Language Environment®.
For details, refer to z/OS Language Environment Programming Guide (SA22-7561).
[ Top of Page | Previous Page | Next Page | Contents | Index ]