22.02.2015 Views

HLASM Language Reference

HLASM Language Reference

HLASM Language Reference

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Data Attributes<br />

– For the LTORG instruction<br />

– For the EQU instruction without a third operand<br />

– For DC and DS statements that contain variable symbols, for example,<br />

U1 DC &X'1'<br />

| – That are defined more than once, even though only one instance of the<br />

| label is generated due to conditional assembly statements. A<br />

| lookahead scan for attributes of a symbol may encounter more than one<br />

| occurrence of a symbol, in which case the assembler can't yet tell which<br />

| statement(s) will be generated. In such cases, type attribute U is<br />

| assigned. At a later time, when the symbol has been generated, its type<br />

| attribute is changed to the correct value for the type of statement it<br />

| names.<br />

Notes:<br />

SETC variable symbols that have a value other than a null character string<br />

or the name of an instruction that can be referred to be a type attribute<br />

reference<br />

System variable symbols except:<br />

– &SYSDATC, &SYSM_HSEV, &SYSM_SEV, &SYSNDX, &SYSNEST,<br />

&SYSOPT_DBCS, &SYSOPT_RENT, &SYSOPT_XOBJECT, and<br />

&SYSSTMT, which always have a type attribute value of N<br />

– Some other character type system variable symbols which may be<br />

assigned a value of a null string, when they have a type attribute value<br />

of O<br />

Macro instruction operands that specify a literal that is not a duplicate of a<br />

literal used in a machine instruction<br />

Inner macro instruction operands that are ordinary symbols<br />

1. Ordinary symbols used in the name field of an EQU instruction have the type<br />

attribute value U. However, the third operand of an EQU instruction can be<br />

used explicitly to assign a type attribute value to the symbol in the name field.<br />

2. The type attribute of a sublist is set to the same value as the type attribute of<br />

the first element of the sublist.<br />

3. High Level Assembler and earlier assemblers treat the type attribute differently:<br />

Because High Level Assembler allows attribute references to statements<br />

generated through substitution, certain cases in which a type attribute of U<br />

(undefined, unknown, or unassigned) or M (macro name field) is given<br />

under the DOS/VSE Assembler, may give a valid type attribute under High<br />

Level Assembler. If the value of the SETC symbol is equal to the name of<br />

an instruction that can be referred to by the type attribute, High Level<br />

Assembler lets you use the type attribute with a SETC symbol.<br />

Because High Level Assembler allows attribute references to literals,<br />

certain cases in which a type attribute of U (undefined, unknown, or<br />

unassigned) is given by Assembler F and Assembler H for a macro<br />

operand that specifies a literal, may give a valid type attribute under High<br />

Level Assembler. If the literal specified in the macro instruction operand is<br />

a duplicate of a literal specified in open code, or previously generated by<br />

conditional assembly processing or macro generation, High Level<br />

Chapter 9. How to Write Conditional Assembly Instructions 331

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

Saved successfully!

Ooh no, something went wrong!