HLASM Language Reference
HLASM Language Reference HLASM Language Reference
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
- Page 200 and 201: DXD Instruction ASEMBLY2 CSECT USIN
- Page 202 and 203: END Instruction change but no addit
- Page 204 and 205: EQU Instruction EQU Instruction The
- Page 206 and 207: EQU Instruction 5. The length attri
- Page 208 and 209: EXITCTL Instruction sequence_symbol
- Page 210 and 211: ISEQ Instruction must be greater th
- Page 212 and 213: LOCTR Instruction A CSECT , See not
- Page 214 and 215: LTORG Instruction If symbol is an o
- Page 216 and 217: MNOTE Instruction When two literals
- Page 218 and 219: OPSYN Instruction ,ERROR, SEV 1 An
- Page 220 and 221: ORG Instruction AFTER is defined in
- Page 222 and 223: ORG Instruction If you specify mult
- Page 224 and 225: POP Instruction POP Instruction The
- Page 226 and 227: PRINT Instruction Note: If the next
- Page 228 and 229: Process Statement Process Statement
- Page 230 and 231: REPRO Instruction NOPRINT instructs
- Page 232 and 233: RSECT Instruction 4. AMODE or RMODE
- Page 234 and 235: START Instruction START Instruction
- Page 236 and 237: TITLE Instruction The name value is
- Page 238 and 239: USING Instruction Only the characte
- Page 240 and 241: USING Instruction Base Registers fo
- Page 242 and 243: USING Instruction If register 0 is
- Page 244 and 245: USING Instruction A variable symbo
- Page 246 and 247: USING Instruction In this MVC instr
- Page 248 and 249: USING Instruction Range of a Depend
- Page 252 and 253: XATTR Instruction SCOPE ►►─
- Page 254 and 255: XATTR Instruction 234 HLASM V1R5 La
- Page 256 and 257: Part 3. Macro Language &SYSDATC Sys
- Page 258 and 259: Introduction to Macro Language Chap
- Page 260 and 261: Introduction to Macro Language The
- Page 262 and 263: Introduction to Macro Language Macr
- Page 264 and 265: MACRO and MEND Statements The assem
- Page 266 and 267: Prototype Statement Macros that are
- Page 268 and 269: Model Statements generated from tha
- Page 270 and 271: Model Statements ▌5▐ ▌6▐
- Page 272 and 273: Model Statements Notes: 1. You can
- Page 274 and 275: Positional Parameters Symbolic para
- Page 276 and 277: Processing Statements Processing St
- Page 278 and 279: AREAD Instruction Assign Local Time
- Page 280 and 281: COPY Instruction sequence_symbol is
- Page 282 and 283: System Variable Symbols System Vari
- Page 284 and 285: &SYSADATA_MEMBER System Variable Sy
- Page 286 and 287: &SYSCLOCK System Variable Symbol &S
- Page 288 and 289: &SYSECT System Variable Symbol depe
- Page 290 and 291: &SYSIN_MEMBER System Variable Symbo
- Page 292 and 293: &SYSJOB System Variable Symbol &SYS
- Page 294 and 295: &SYSLIN_DSN System Variable Symbol
- Page 296 and 297: &SYSLIST System Variable Symbol The
- Page 298 and 299: &SYSLOC System Variable Symbol To
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>